package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-19.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum19 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {0,0,22,24,-90,46,-121,66,51,82,77,93,23,99,-28,99,-32,95,-2,87,49,77,-79,64,-100,51,46,39,44,28,118,19,35,13,112,9,-12,7,-18,7,-37,8,-104,9,-108,9,-60,7,-14,3,-74,-3,-28,-12,56,-22,-1,-35,88,-47,6,-59,51,-70,-67,-79,109,-84,-48,-86,29,-83,59,-77,-56,-68,7,-55,40,-41,3,-26,-64,-12,40,2,-109,13,-99,22,-68,28,62,32,52,33,123,32,-114,30,92,28,-30,26,-117,26,16,28,-125,31,0,37,4,44,22,52,73,60,-55,67,78,73,78,76,-96,75,34,71,72,62,-108,49,32,33,37,14,109,-7,27,-28,-79,-49,58,-67,-17,-83,-118,-94,-73,-101,-101,-103,-5,-101,-121,-94,111,-84,-51,-72,-94,-58,-40,-44,-102,-30,-13,-18,120,-7,-16,1,37,8,-123,12,60,15,27,17,118,18,48,20,121,22,-46,25,-126,30,54,36,-42,42,-53,49,-106,56,122,62,-32,66,41,69,-17,68,-35,65,21,60,-114,51,-9,40,-91,28,-116,15,90,2,-99,-11,82,-22,-71,-32,107,-39,74,-44,-122,-47,-106,-48,77,-47,2,-45,17,-43,28,-41,-104,-40,52,-39,-22,-40,-95,-41,-83,-43,-115,-45,-111,-47,-112,-48,-45,-48,45,-45,-86,-41,-43,-34,86,-24,38,-12,-14,1,-36,16,104,32,117,47,124,61,107,73,-47,82,0,89,-59,91,1,91,-35,86,-97,79,-29,69,25,58,50,45,-74,31,53,18,124,5,-77,-7,124,-17,-99,-26,-121,-33,-84,-39,83,-43,-5,-47,88,-49,104,-51,-42,-53,-87,-54,-53,-55,84,-55,98,-55,30,-54,-83,-53,92,-50,25,-46,54,-41,101,-35,-34,-28,31,-19,19,-10,-116,-1,-24,8,23,18,120,26,21,34,89,40,-128,45,35,49,121,51,-89,52,-87,52,-49,51,54,50,15,48,-109,45,-70,42,-57,39,-105,36,19,33,78,29,-2,24,62,20,-73,14,-98,8,-45,1,41,-6,24,-14,125,-23,-48,-32,41,-40,0,-48,126,-56,32,-62,16,-67,-99,-71,-6,-73,81,-72,-92,-70,6,-65,67,-59,91,-51,-38,-42,-99,-31,105,-19,-91,-7,48,6,101,18,33,30,-49,40,51,50,48,58,78,64,-104,68,-45,70,32,71,113,69,7,66,3,61,-68,54,94,47,92,39,-28,30,105,22,2,14,29,6,-90,-2,-6,-9,8,-14,-106,-20,-15,-25,-88,-29,-5,-33,122,-36,98,-39,124,-42,-70,-45,92,-47,78,-49,-35,-51,23,-51,59,-51,114,-50,-54,-48,100,-44,93,-39,116,-33,-67,-26,-65,-18,-126,-9,97,0,96,9,-43,17,-92,25,-78,32,-112,38,94,43,-12,46,119,49,-5,50,-90,51,-82,51,50,51,69,50,11,49,99,47,92,45,-84,42,80,39,10,35,108,29,-74,22,111,14,3,5,64,-6,-69,-18,-110,-30,-118,-42,16,-53,-86,-64,27,-72,-48,-79,59,-82,-80,-83,45,-80,-77,-75,-6,-67,123,-56,-59,-44,-9,-31,-106,-17,-89,-4,-42,8,66,19,-48,27,87,34,-92,38,31,41,-42,41,117,41,59,40,-47,38,125,37,-93,36,-128,36,10,37,41,38,-87,39,11,41,18,42,42,42,-34,40,-3,37,43,33,-110,26,23,18,71,8,83,-3,13,-14,-12,-26,125,-36,-119,-45,72,-52,82,-57,-106,-60,54,-60,-23,-59,91,-55,27,-50,-100,-45,95,-39,-9,-34,-27,-29,45,-24,108,-21,-6,-19,29,-16,9,-14,91,-12,85,-9,-108,-5,37,1,104,8,28,17,21,27,8,38,34,49,-43,59,58,69,-92,76,90,81,-44,82,-56,80,42,75,-5,65,-21,53,95,39,111,23,-60,6,-105,-10,-73,-25,-74,-38,-121,-48,51,-55,31,-59,-22,-61,107,-59,-26,-56,-41,-51,121,-45,13,-39,15,-34,15,-30,-58,-28,55,-26,-123,-26,26,-26,87,-27,-34,-28,86,-27,24,-25,-83,-22,28,-16,-102,-9,-79,0,25,11,96,22,-110,33,41,44,67,53,94,60,-26,64,-82,66,-115,65,-56,61,-85,55,-44,47,-46,38,123,29,86,20,36,12,35,5,-50,-1,21,-4,-95,-7,113,-8,-83,-9,50,-9,1,-10,17,-12,-84,-16,-70,-21,91,-27,-93,-35,53,-43,-117,-52,121,-60,-60,-67,30,-71,55,-73,-100,-72,93,-67,-71,-59,13,-47,55,-33,9,-17,-35,-1,-58,16,-111,32,-109,46,-49,57,1,66,-89,70,-5,71,5,70,108,65,-56,58,-41,50,94,42,21,34,-109,26,85,20,125,15,48,12,49,10,1,9,95,8,-115,7,59,6,-64,3,2,0,-56,-6,-12,-13,12,-20,65,-29,88,-38,-57,-47,96,-54,-91,-60,34,-63,46,-64,-21,-63,75,-58,12,-51,-82,-43,-85,-33,64,-22,-41,-12,-79,-2,62,7,101,14,-105,19,38,23,-9,24,-81,25,119,25,1,25,-43,24,71,25,-76,26,60,29,-39,32,78,37,53,42,18,47,65,51,18,54,20,55,-94,53,-96,49,-71,42,86,33,116,21,4,8,112,-7,-121,-22,76,-36}; }
	private static byte[] data1(){ return new byte[] {92,-49,-89,-60,-127,-68,-124,-73,-86,-75,-23,-74,-8,-70,106,-63,-108,-55,-27,-46,-104,-36,47,-26,-5,-18,-69,-10,73,-3,114,2,-126,6,-126,9,-2,11,29,14,110,16,7,19,51,22,40,26,-109,30,-123,35,107,40,30,45,3,49,-54,51,7,53,121,52,-17,49,125,45,39,39,95,31,89,22,-53,12,28,3,-92,-7,48,-15,-74,-23,-29,-29,109,-33,-92,-36,28,-37,-57,-38,64,-37,18,-36,25,-35,-31,-35,89,-34,91,-34,-16,-35,60,-35,-108,-36,40,-36,123,-36,-71,-35,99,-32,122,-28,81,-22,-84,-15,117,-6,-121,4,52,15,55,26,-48,36,-108,46,-20,54,102,61,-73,65,-96,67,25,67,61,64,51,59,104,52,36,44,8,35,106,25,-77,15,98,6,-96,-3,-40,-11,-23,-18,35,-23,56,-28,78,-32,40,-35,-116,-38,-126,-40,-33,-42,-99,-43,-65,-44,74,-44,92,-44,5,-43,101,-42,-94,-40,-68,-37,-46,-33,-68,-28,-107,-22,-3,-16,-25,-9,53,-1,111,6,-120,13,23,20,15,26,30,31,80,35,116,38,-112,40,-41,41,38,42,-58,41,-70,40,41,39,52,37,-35,34,76,32,121,29,68,26,-40,22,-13,18,-62,14,-3,9,-27,4,85,-1,67,-7,-3,-14,115,-20,-4,-27,-91,-33,-65,-39,120,-44,-1,-49,-90,-52,96,-54,-114,-55,21,-54,23,-52,-113,-49,88,-44,117,-38,-111,-31,-122,-23,76,-14,71,-5,-104,4,-117,13,72,22,46,30,54,37,66,43,-16,47,95,51,68,53,-47,53,-28,52,-75,50,81,47,-7,42,-72,37,-5,31,-69,25,109,19,5,13,-31,6,-11,0,-127,-5,-122,-10,-39,-15,-69,-19,-21,-23,-118,-26,107,-29,-92,-32,37,-34,-29,-37,2,-38,-121,-40,-108,-41,65,-41,-90,-41,-22,-40,12,-37,24,-34,46,-30,16,-25,-53,-20,16,-13,-42,-7,-78,0,-91,7,46,14,67,20,-58,25,110,30,79,34,59,37,93,39,-87,40,72,41,82,41,-35,40,-11,39,-75,38,8,37,-1,34,101,32,73,29,-124,25,-55,20,91,15,-33,8,-81,1,-89,-7,54,-15,104,-24,-51,-33,-82,-41,86,-48,94,-54,-14,-59,126,-61,20,-61,-38,-60,-86,-56,113,-50,-54,-43,100,-34,-71,-25,105,-15,-43,-6,-65,3,-113,11,44,18,-123,23,93,27,7,30,115,31,22,32,19,32,-49,31,115,31,67,31,91,31,-63,31,85,32,4,33,118,33,-118,33,-25,32,56,31,117,28,85,24,10,19,117,12,14,5,-32,-4,-111,-12,101,-20,-73,-28,20,-34,-87,-40,-43,-44,-111,-46,-5,-47,-36,-46,10,-43,52,-40,4,-36,34,-32,78,-28,41,-24,-67,-21,-68,-18,88,-15,-46,-13,25,-10,-62,-8,-66,-5,-110,-1,44,4,-52,9,65,16,107,23,23,31,-70,38,-14,45,51,52,0,57,-20,59,-104,60,-31,58,-75,54,35,48,-108,39,87,29,32,18,93,6,-22,-6,67,-16,-51,-26,54,-33,114,-39,-22,-43,59,-44,120,-44,8,-42,-68,-40,-12,-37,90,-33,127,-30,43,-27,42,-25,-128,-24,57,-23,-90,-23,-17,-23,-127,-22,-52,-21,-17,-19,84,-15,-30,-11,-49,-5,-81,2,97,10,-107,18,-99,26,49,34,-86,40,-67,45,4,49,96,50,-75,49,55,47,5,43,-98,37,73,31,-91,24,-3,17,-36,11,101,6,-9,1,-121,-2,-33,-5,5,-6,-127,-8,36,-9,125,-11,86,-13,116,-16,-101,-20,4,-24,-78,-30,11,-35,111,-41,79,-46,67,-50,-94,-53,-15,-54,121,-52,77,-48,-127,-42,-65,-34,-46,-24,10,-12,-28,-1,-47,11,1,23,-1,32,37,41,69,47,-3,50,127,52,-67,51,40,49,32,45,25,40,-107,34,13,29,-41,23,91,19,-107,15,-68,12,-98,10,-24,8,-117,7,-14,5,21,4,103,1,-4,-3,-88,-7,81,-12,106,-18,1,-24,-90,-31,-93,-37,-124,-42,-105,-46,68,-48,-75,-49,12,-47,53,-44,11,-39,50,-33,91,-26,-8,-19,-78,-11,-4,-4,125,3,32,9,-127,13,-48,16,-11,18,89,20,12,21,124,21,6,22,-48,22,28,24,-7,25,98,28,48,31,33,34,-24,36,29,39,83,40,61,40,127,38,7,35,-95,29,-103,22,-15,13,68,4,-18,-7,91,-17,80,-27,44,-36,-118,-44,-81,-50,-9,-54,103,-55,-12,-55,120,-52,-90,-48,25,-42,103,-36,28,-29,-37,-23,55,-16,-5,-11,23,-5,85,-1,-11,2,-30,5,-124,8,-35,10,84,13,-24,15,-64,18,15,22,-126,25,52,29,-68,32,0,36,-103,38,87,40,-11,40,67,40,48,38,-64,34,-7,29,53,24,-123,17,120,10,69,3,46,-4,-65,-11,-13,-17,66,-21,124,-25,-33,-28,37,-29,80,-30,25,-30,63,-30,-92,-30,12,-29,97,-29,-114,-29,-99,-29,-105,-29,-66,-29,42,-28,33,-27,-48,-26,107,-23,9,-19,-59,-15,125,-9,27,-2,-122,5,70,13,43,21,-76,28,-99,35,122,41,7,46}; }
	private static byte[] data2(){ return new byte[] {14,49,97,50,10,50,2,48,126,44,-82,39,-46,33,77,27,96,20,72,13,101,6,-48,-1,-42,-7,100,-12,-72,-17,-100,-21,56,-24,99,-27,-10,-30,13,-31,117,-33,74,-34,113,-35,13,-35,27,-35,-79,-35,-34,-34,-68,-32,65,-29,-114,-26,114,-22,11,-17,13,-12,107,-7,24,-1,-78,4,60,10,93,15,22,20,39,24,-113,27,55,30,19,32,71,33,-60,33,-99,33,-8,32,-57,31,66,30,85,28,39,26,-75,23,-26,20,-28,17,126,14,-28,10,-42,6,-92,2,23,-2,73,-7,96,-12,94,-17,127,-22,-54,-27,-127,-31,-78,-35,-103,-38,69,-40,-35,-42,112,-42,20,-41,-62,-40,-125,-37,54,-33,-32,-29,57,-23,59,-17,-66,-11,-126,-4,99,3,34,10,-96,16,-109,22,-28,27,123,32,33,36,-43,38,115,40,21,41,-101,40,59,39,-27,36,-37,33,23,30,-31,25,71,21,124,16,-106,11,-52,6,15,2,-90,-3,-125,-7,-116,-11,8,-14,-80,-18,-64,-21,1,-23,-98,-26,127,-28,-89,-30,41,-31,24,-32,112,-33,102,-33,-35,-33,27,-31,-18,-30,-124,-27,-42,-24,-66,-20,73,-15,52,-10,119,-5,-44,0,48,6,79,11,9,16,100,20,21,24,50,27,-107,29,93,31,117,32,3,33,11,33,-91,32,-52,31,-89,30,12,29,49,27,-56,24,18,22,-60,18,-27,14,116,10,101,5,-39,-1,-52,-7,-117,-13,20,-19,-31,-26,5,-31,-49,-37,-112,-41,116,-44,-72,-46,113,-46,-82,-45,93,-42,116,-38,-100,-33,-59,-27,99,-20,104,-13,65,-6,-35,0,-58,6,-18,11,68,16,-95,19,44,22,-34,23,-3,24,-104,25,-18,25,31,26,63,26,-127,26,-64,26,13,27,60,27,48,27,-61,26,-54,25,11,24,-124,21,16,18,-50,13,-82,8,8,3,-33,-4,-85,-10,-103,-16,-31,-22,-19,-27,-45,-31,-37,-34,0,-35,84,-36,-66,-36,28,-34,57,-32,-24,-30,-30,-27,4,-23,17,-20,0,-17,-84,-15,32,-12,-108,-10,-22,-8,-122,-5,81,-2,-88,1,109,5,-46,9,-88,14,-36,19,80,25,-102,30,-114,35,-76,39,-38,42,-97,44,-38,44,106,43,77,40,-124,35,101,29,21,22,29,14,-77,5,-128,-3,-59,-11,-44,-18,19,-23,-106,-28,-126,-31,-59,-33,74,-33,-54,-33,31,-31,-27,-30,-22,-28,-31,-26,-81,-24,40,-22,89,-21,62,-20,16,-19,-35,-19,-14,-18,-117,-16,-64,-14,-55,-11,-107,-7,67,-2,-121,3,67,9,79,15,36,21,-95,26,74,31,-11,34,91,37,102,38,7,38,88,36,119,33,-83,29,49,25,102,20,126,15,-32,10,-106,6,-17,2,-26,-1,76,-3,74,-5,109,-7,-54,-9,-19,-11,-27,-13,112,-15,112,-18,26,-21,95,-25,-109,-29,-22,-33,-78,-36,68,-38,-23,-40,-40,-40,97,-38,106,-35,30,-30,34,-24,111,-17,115,-9,-23,-1,112,8,112,16,-84,23,-93,29,66,34,67,37,-71,38,-87,38,73,37,-30,34,-72,31,31,28,98,24,-63,20,116,17,-120,14,28,12,19,10,60,8,-112,6,-73,4,-85,2,28,0,21,-3,-122,-7,89,-11,-32,-16,41,-20,-111,-25,77,-29,-76,-33,3,-35,112,-37,36,-37,43,-36,124,-34,-5,-31,112,-26,-99,-21,44,-15,-34,-10,82,-4,79,1,-59,5,104,9,92,12,-123,14,39,16,71,17,36,18,2,19,-20,19,16,21,113,22,17,24,-47,25,-117,27,14,29,22,30,95,30,-64,29,-9,27,7,25,-55,20,119,15,19,9,12,2,-100,-6,6,-13,-36,-21,75,-27,-44,-33,-119,-37,-66,-40,115,-41,-105,-41,38,-39,-38,-37,-123,-33,-43,-29,-125,-24,85,-19,-9,-15,80,-10,79,-6,-55,-3,-23,0,-100,3,28,6,110,8,-56,10,41,13,-90,15,95,18,23,21,-31,23,115,26,-65,28,125,30,-105,31,-49,31,37,31,103,29,-61,26,30,23,-53,18,-52,13,-124,8,33,3,-63,-3,-45,-8,77,-12,-123,-16,98,-19,8,-21,88,-23,74,-24,-62,-25,-120,-25,-104,-25,-61,-25,2,-24,66,-24,-116,-24,-30,-24,116,-23,61,-22,-121,-21,62,-19,-75,-17,-60,-14,-96,-10,21,-5,31,0,-93,5,87,11,16,17,125,22,113,27,-103,31,-37,34,-7,36,-14,37,-83,37,68,36,-66,33,81,30,26,26,97,21,87,16,20,11,-9,5,-18,0,90,-4,4,-8,71,-12,-37,-16,-5,-19,-123,-21,93,-23,-93,-25,52,-26,33,-27,103,-28,6,-28,29,-28,-109,-28,-104,-27,31,-25,45,-23,-43,-21,-23,-18,-114,-14,120,-10,-85,-6,27,-1,117,3,-46,7,-45,11,-101,15,-46,18,-93,21,-50,23,110,25,-125,26,10,27,8,27,-97,26,-71,25,-120,24,-12,22,33,21,15,19,-92,16,19,14,43,11,29,8,-63,4,66,1,-97,-3,-64,-7,-17,-11,9,-14,92,-18,-48,-22,-85,-25,-28,-28,-78,-30,24,-31,53,-32,6,-32,-80,-32}; }
	private static byte[] data3(){ return new byte[] {13,-30,70,-28,32,-25,-70,-22,-54,-18,87,-13,71,-8,89,-3,-110,2,-98,7,-113,12,12,17,28,21,-95,24,121,27,-96,29,-6,30,-102,31,104,31,-124,30,-20,28,-66,26,7,24,-24,20,116,17,-47,13,3,10,69,6,124,2,-20,-2,127,-5,56,-8,54,-11,101,-14,-37,-17,-120,-19,124,-21,-68,-23,54,-24,12,-25,62,-26,-46,-27,-30,-27,106,-26,122,-25,23,-23,51,-21,-22,-19,10,-15,-92,-12,-126,-8,-91,-4,-48,0,5,5,3,9,-70,12,43,16,26,19,-103,21,-115,23,1,25,-17,25,104,26,111,26,21,26,91,25,77,24,-24,22,52,21,34,19,-63,16,-1,13,-59,10,55,7,51,3,-19,-2,81,-6,-100,-11,-35,-16,68,-20,16,-24,70,-28,58,-31,7,-33,-61,-35,-103,-35,116,-34,100,-32,71,-29,2,-25,100,-21,55,-16,79,-11,96,-6,81,-1,-42,3,-37,7,100,11,63,14,-115,16,70,18,-114,19,111,20,19,21,127,21,-45,21,24,22,76,22,98,22,88,22,1,22,97,21,76,20,-96,18,112,16,-121,13,38,10,27,6,-56,1,23,-3,106,-8,-36,-13,-115,-17,-45,-21,-82,-24,97,-26,-39,-28,52,-28,86,-28,45,-27,-96,-26,-124,-24,-77,-22,23,-19,121,-17,-25,-15,52,-12,101,-10,-81,-8,-39,-6,71,-3,-62,-1,-100,2,-80,5,34,9,-54,12,-97,16,-122,20,68,24,-89,27,122,30,127,32,-104,33,-115,33,93,32,8,30,125,26,17,22,-56,16,7,11,-7,4,-2,-2,89,-7,42,-12,-52,-17,62,-20,-84,-23,-5,-25,49,-25,27,-25,-98,-25,-112,-24,-82,-23,-16,-22,36,-20,66,-19,74,-18,49,-17,44,-16,45,-15,113,-14,24,-12,43,-10,-51,-8,-14,-5,-89,-1,-77,3,10,8,-122,12,-43,16,-42,20,62,24,-21,26,-76,28,127,29,83,29,38,28,46,26,121,23,67,20,-61,16,29,13,-107,9,57,6,57,3,-101,0,60,-2,67,-4,96,-6,-76,-8,-32,-10,12,-11,-9,-14,-91,-16,42,-18,-117,-21,-12,-24,-112,-26,-117,-28,37,-29,-127,-30,-50,-30,49,-28,-94,-26,55,-22,-87,-18,4,-12,-48,-7,-17,-1,22,6,-26,11,46,17,-99,21,35,25,-120,27,-27,28,43,29,-121,28,34,27,40,25,-56,22,67,20,-85,17,63,15,-11,12,-22,10,22,9,76,7,-104,5,-66,3,-62,1,109,-1,-42,-4,-22,-7,-94,-10,57,-13,-75,-17,91,-20,71,-23,-65,-26,-40,-28,-51,-29,-91,-29,111,-28,42,-26,-72,-24,-8,-21,-55,-17,-36,-13,34,-8,60,-4,25,0,-94,3,-97,6,52,9,48,11,-37,12,25,14,35,15,27,16,3,17,-1,17,5,19,37,20,53,21,52,22,-17,22,79,23,22,23,61,22,-113,20,25,18,-62,14,-79,10,-17,5,-63,0,88,-5,-43,-11,-86,-16,-28,-21,-21,-25,-66,-28,-95,-30,-113,-31,125,-31,109,-30,51,-28,-85,-26,-86,-23,-9,-20,114,-16,-33,-13,43,-9,80,-6,37,-3,-51,-1,44,2,115,4,-111,6,-74,8,-50,10,-15,12,42,15,82,17,112,19,85,21,-9,22,37,24,-40,24,-41,24,60,24,-54,22,-65,20,-14,17,-83,14,-29,10,-21,6,-45,2,-70,-2,-20,-6,93,-9,87,-12,-70,-15,-74,-17,32,-18,18,-19,98,-20,0,-20,-31,-21,-23,-21,24,-20,95,-20,-63,-20,66,-19,-4,-19,-18,-18,65,-16,-24,-15,22,-12,-87,-10,-53,-7,73,-3,33,1,82,5,-125,9,-62,13,-82,17,71,21,72,24,-101,26,40,28,-46,28,-88,28,-96,27,-46,25,85,23,72,20,-50,16,26,13,42,9,76,5,120,1,-34,-3,125,-6,109,-9,-89,-12,57,-14,32,-16,71,-18,-63,-20,-124,-21,-112,-22,-17,-23,-95,-23,-85,-23,27,-22,-24,-22,50,-20,-41,-19,-5,-17,110,-14,80,-11,102,-8,-80,-5,43,-1,-105,2,1,6,47,9,42,12,-61,14,7,17,-43,18,49,20,37,21,-90,21,-69,21,115,21,-54,20,-44,19,-115,18,14,17,74,15,74,13,24,11,-85,8,29,6,84,3,124,0,-122,-3,116,-6,112,-9,106,-12,-103,-15,-23,-18,-113,-20,-118,-22,-17,-24,-39,-25,66,-25,66,-25,-43,-25,-2,-24,-70,-22,-2,-20,-65,-17,-27,-14,89,-10,31,-6,-3,-3,-14,1,-51,5,-112,9,-3,12,29,16,-40,18,15,21,-55,22,-26,23,120,24,112,24,-35,23,-62,22,48,21,49,19,-35,16,61,14,118,11,126,8,-115,5,-121,2,-91,-1,-38,-4,33,-6,-93,-9,64,-11,34,-13,41,-15,118,-17,2,-18,-60,-20,-37,-21,60,-21,-9,-22,23,-21,-107,-21,-120,-20,-35,-19,-98,-17,-48,-15,79,-12,48,-9,55,-6,127,-3,-65,0,17,4,46,7,33,10,-42,12,46,15,49,17,-63,18,-9,19,-70,20,32,21,40,21,-37,20,56,20,83,19,23,18,-92,16,-38,14,-44,12}; }
	private static byte[] data4(){ return new byte[] {-117,10,-28,7,6,5,-37,1,-123,-2,-5,-6,113,-9,-39,-13,124,-16,91,-19,-97,-22,98,-24,-48,-26,-29,-27,-58,-27,102,-26,-55,-25,-31,-23,-110,-20,-60,-17,76,-13,16,-9,-45,-6,-107,-2,9,2,56,5,16,8,118,10,125,12,22,14,97,15,80,16,21,17,-106,17,-2,17,67,18,104,18,102,18,57,18,-54,17,19,17,8,16,-123,14,-93,12,64,10,-121,7,92,4,2,1,105,-3,-38,-7,103,-10,31,-13,76,-16,-34,-19,19,-20,-46,-22,58,-22,53,-22,-67,-22,-74,-21,21,-19,-80,-18,-121,-16,106,-14,102,-12,84,-10,70,-8,65,-6,62,-4,90,-2,-123,0,-20,2,105,5,33,8,-21,10,-60,13,-99,16,68,19,-95,21,-116,23,-34,24,-122,25,89,25,100,24,-106,22,-5,19,-74,16,-35,12,-86,8,58,4,-38,-1,-91,-5,-60,-9,101,-12,-101,-15,112,-17,-16,-19,3,-19,-92,-20,-74,-20,31,-19,-65,-19,-126,-18,89,-17,47,-16,14,-15,-21,-15,-28,-14,-15,-13,52,-11,-60,-10,-98,-8,-30,-6,112,-3,101,0,-123,3,-40,6,50,10,107,13,96,16,-30,18,-31,20,51,22,-45,22,-65,22,-14,21,-113,20,-99,18,73,16,-79,13,-11,10,62,8,-106,5,37,3,-20,0,-38,-2,4,-3,73,-5,-84,-7,7,-8,104,-10,-79,-12,-34,-14,5,-15,33,-17,96,-19,-56,-21,-115,-22,-64,-23,-115,-23,-2,-23,60,-21,46,-19,-21,-17,69,-13,54,-9,122,-5,-14,-1,115,4,-74,8,-95,12,-16,15,-89,18,-110,20,-57,21,55,22,-2,21,54,21,-4,19,109,18,-81,16,-42,14,5,13,57,11,-121,9,-18,7,74,6,-75,4,-7,2,41,1,31,-1,-18,-4,-115,-6,-9,-9,85,-11,-77,-14,55,-16,-8,-19,42,-20,-48,-22,27,-22,10,-22,-89,-22,-15,-21,-37,-19,60,-16,22,-13,28,-10,87,-7,118,-4,120,-1,68,2,-67,4,-26,6,-78,8,60,10,119,11,-125,12,119,13,77,14,36,15,-23,15,-81,16,85,17,-32,17,39,18,42,18,-78,17,-54,16,73,15,63,13,-101,10,122,7,-26,3,7,0,15,-4,1,-8,55,-12,-68,-16,-58,-19,113,-21,-53,-23,-18,-24,-65,-24,81,-23,118,-22,41,-20,63,-18,-99,-16,40,-13,-73,-11,60,-8,-71,-6,4,-3,63,-1,72,1,70,3,36,5,7,7,-45,8,-94,10,110,12,37,14,-58,15,45,17,93,18,43,19,-106,19,-126,19,-18,18,-55,17,43,16,2,14,-126,11,-96,8,-105,5,123,2,79,-1,93,-4,-114,-7,36,-9,-7,-12,71,-13,-36,-15,-32,-16,42,-16,-70,-17,-128,-17,126,-17,-102,-17,-28,-17,75,-16,-44,-16,-99,-15,-116,-14,-48,-13,79,-11,48,-9,83,-7,-33,-5,-104,-2,-103,1,-65,4,-19,7,13,11,-10,13,-104,16,-56,18,124,20,-106,21,26,22,-11,21,59,21,-27,19,23,18,-45,15,72,13,122,10,-117,7,-108,4,-96,1,-45,-2,32,-4,-82,-7,100,-9,103,-11,-98,-13,17,-14,-61,-16,-79,-17,-24,-18,86,-18,27,-18,32,-18,126,-18,42,-17,50,-16,-116,-15,62,-13,55,-11,126,-9,-19,-7,-121,-4,64,-1,-9,1,-93,4,46,7,-123,9,-96,11,115,13,-19,14,16,16,-30,16,83,17,119,17,67,17,-61,16,3,16,-11,14,-66,13,68,12,-99,10,-58,8,-59,6,-92,4,94,2,10,0,-87,-3,52,-5,-45,-8,119,-10,73,-12,60,-14,119,-16,-11,-18,-51,-19,9,-19,-89,-20,-69,-20,60,-19,49,-18,-108,-17,88,-15,-127,-13,-19,-11,-107,-8,-127,-5,112,-2,-127,1,115,4,85,7,-2,9,99,12,-121,14,68,16,-94,17,-111,18,14,19,29,19,-65,18,-11,17,-43,16,84,15,-106,13,-108,11,108,9,30,7,-58,4,98,2,9,0,-58,-3,-120,-5,122,-7,125,-9,-68,-11,22,-12,-82,-14,125,-15,123,-16,-63,-17,76,-17,25,-17,67,-17,-77,-17,-127,-16,-97,-15,13,-13,-44,-12,-43,-10,28,-7,-122,-5,23,-2,-83,0,70,3,-67,5,16,8,55,10,20,12,-78,13,-10,14,-13,15,-111,16,-22,16,-19,16,-82,16,39,16,94,15,88,14,24,13,-103,11,-27,9,5,8,-42,5,-114,3,5,1,108,-2,-81,-5,-5,-8,67,-10,-65,-13,109,-15,97,-17,-56,-19,-109,-20,-11,-21,-44,-21,81,-20,78,-19,-36,-18,-49,-16,46,-13,-56,-11,-103,-8,112,-5,74,-2,-7,0,126,3,-60,5,-54,7,124,9,-11,10,27,12,15,13,-53,13,85,14,-66,14,-6,14,27,15,9,15,-48,14,87,14,-86,13,-83,12,99,11,-58,9,-40,7,-93,5,41,3,-122,0,-59,-3,6,-5,101,-8,-30,-11,-76,-13,-41,-15,104,-16,106,-17,-34,-18,-53,-18,24,-17,-54,-17,-61,-16,-2,-15,98,-13,-26,-12,-127,-10,31,-8,-57,-7,124,-5,55,-3,5,-1,-28,0}; }
	private static byte[] data5(){ return new byte[] {-37,2,-27,4,8,7,44,9,85,11,103,13,84,15,-1,16,75,18,49,19,-119,19,87,19,-119,18,43,17,49,15,-55,12,-22,9,-40,6,-119,3,78,0,36,-3,50,-6,-102,-9,93,-11,-99,-13,65,-14,98,-15,-38,-16,-74,-16,-49,-16,35,-15,-105,-15,46,-14,-48,-14,-115,-13,80,-12,59,-11,56,-10,99,-9,-49,-8,102,-6,81,-4,99,-2,-64,0,47,3,-69,5,72,8,-77,10,-22,12,-54,14,71,16,71,17,-61,17,-64,17,48,17,51,16,-52,14,18,13,37,11,17,9,-11,6,-33,4,-31,2,5,1,63,-1,-98,-3,22,-4,-96,-6,48,-7,-53,-9,97,-10,-14,-12,-115,-13,48,-14,-9,-16,-21,-17,39,-17,-65,-18,-61,-18,70,-17,82,-16,-29,-15,3,-12,-121,-10,-128,-7,-92,-4,-10,-1,74,3,117,6,96,9,-26,11,-5,13,-120,15,-112,16,15,17,15,17,-86,16,-27,15,-33,14,-87,13,82,12,-13,10,-121,9,35,8,-59,6,83,5,-22,3,93,2,-58,0,6,-1,52,-3,66,-5,58,-7,46,-9,45,-11,85,-13,-85,-15,91,-16,103,-17,-27,-18,-25,-18,93,-17,91,-16,-59,-15,-110,-13,-79,-11,-5,-9,109,-6,-42,-4,45,-1,106,1,106,3,61,5,-54,6,39,8,78,9,65,10,41,11,-29,11,-106,12,49,13,-77,13,30,14,93,14,105,14,56,14,-87,13,-52,12,122,11,-46,9,-78,7,79,5,-114,2,-84,-1,-78,-4,-79,-7,-30,-10,78,-12,26,-14,84,-16,20,-17,89,-18,39,-18,117,-18,59,-17,99,-16,-31,-15,-108,-13,119,-11,101,-9,87,-7,79,-5,42,-3,2,-1,-67,0,109,2,14,4,-90,5,48,7,-83,8,38,10,-128,11,-61,12,-45,13,-83,14,64,15,125,15,95,15,-36,14,-14,13,-89,12,-2,10,15,9,-40,6,-123,4,29,2,-86,-1,93,-3,36,-5,53,-7,112,-9,2,-10,-52,-12,-26,-13,62,-13,-53,-14,-114,-14,127,-14,-106,-14,-41,-14,58,-13,-62,-13,127,-12,95,-11,-125,-10,-48,-9,106,-7,44,-5,59,-3,96,-1,-73,1,30,4,-118,6,-31,8,13,11,1,13,-99,14,-33,15,-80,16,14,17,-11,16,107,16,114,15,23,14,110,12,124,10,107,8,38,6,-27,3,-107,1,103,-1,62,-3,74,-5,109,-7,-59,-9,81,-10,-3,-12,-19,-13,-1,-14,89,-14,-33,-15,-84,-15,-77,-15,-3,-15,-114,-14,97,-13,123,-12,-42,-11,104,-9,58,-7,36,-5,52,-3,92,-1,124,1,-95,3,-101,5,-126,7,44,9,-89,10,-37,11,-53,12,124,13,-31,13,4,14,-31,13,-126,13,-29,12,18,12,8,11,-34,9,116,8,-6,6,75,5,-111,3,-77,1,-51,-1,-23,-3,-22,-5,17,-6,47,-8,-126,-10,-19,-12,-107,-13,113,-14,-102,-15,13,-15,-50,-16,-20,-16,89,-15,35,-14,62,-13,-96,-12,83,-10,50,-8,72,-6,-125,-4,-51,-2,41,1,110,3,-83,5,-70,7,-103,9,69,11,-92,12,-69,13,126,14,-20,14,3,15,-58,14,57,14,95,13,70,12,-22,10,101,9,-77,7,-25,5,10,4,33,2,61,0,104,-2,-110,-4,-29,-6,64,-7,-52,-9,112,-10,75,-11,77,-12,-126,-13,-21,-14,-113,-14,114,-14,-106,-14,-5,-14,-87,-13,-110,-12,-66,-11,45,-9,-58,-8,-103,-6,-126,-4,-116,-2,-109,0,-91,2,-108,4,110,6,35,8,-96,9,-20,10,-14,11,-66,12,65,13,-118,13,-117,13,91,13,-27,12,65,12,99,11,86,10,26,9,-81,7,37,6,94,4,-116,2,-126,0,-127,-2,85,-4,73,-6,49,-8,76,-10,-115,-12,9,-13,-47,-15,-10,-16,119,-16,107,-16,-68,-16,127,-15,-97,-14,21,-12,-40,-11,-53,-9,-23,-7,18,-4,70,-2,90,0,89,2,49,4,-43,5,78,7,-123,8,-102,9,109,10,34,11,-93,11,3,12,60,12,83,12,61,12,-2,11,-112,11,-22,10,18,10,-14,8,-97,7,8,6,71,4,77,2,65,0,26,-2,-3,-5,-11,-7,6,-8,85,-10,-28,-12,-65,-13,-10,-14,120,-14,97,-14,-118,-14,9,-13,-64,-13,-84,-12,-60,-11,-10,-10,68,-8,-102,-7,-2,-6,113,-4,-23,-3,116,-1,-4,0,-90,2,66,4,-5,5,-96,7,64,9,-46,10,49,12,105,13,76,14,-29,14,22,15,-39,14,57,14,36,13,-86,11,-41,9,-74,7,101,5,-12,2,126,0,35,-2,-40,-5,-39,-7,18,-8,-97,-10,123,-11,-90,-12,29,-12,-40,-13,-51,-13,-18,-13,54,-12,-99,-12,28,-11,-72,-11,98,-10,49,-9,24,-8,30,-7,97,-6,-74,-5,80,-3,-1,-2,-34,0,-53,2,-64,4,-76,6,-116,8,52,10,-92,11,-66,12,-123,13,-25,13,-26,13,-120,13,-51,12,-59,11,-127,10,7,9,115,7,-48,5,36,4,-117,2,-1,0,-128,-1,28,-2,-61,-4,-126,-5,67,-6,23,-7,-15,-9}; }
	private static byte[] data6(){ return new byte[] {-52,-10,-67,-11,-64,-12,-33,-13,52,-13,-74,-14,-115,-14,-84,-14,42,-13,19,-12,77,-11,-7,-10,-30,-8,33,-5,126,-3,-9,-1,118,2,-44,4,12,7,-10,8,-104,10,-46,11,-73,12,44,13,84,13,29,13,-82,12,-7,11,35,11,37,10,26,9,-5,7,-39,6,-81,5,117,4,54,3,-27,1,-125,0,14,-1,-121,-3,-7,-5,89,-6,-62,-8,60,-9,-47,-11,-100,-12,-97,-13,-17,-14,-102,-14,-104,-14,-3,-14,-68,-13,-52,-12,44,-10,-61,-9,-123,-7,96,-5,68,-3,18,-1,-29,0,124,2,4,4,82,5,-127,6,-121,7,95,8,44,9,-51,9,97,10,-41,10,53,11,114,11,-117,11,115,11,48,11,-102,10,-41,9,-76,8,87,7,-82,5,-54,3,-77,1,-127,-1,66,-3,3,-5,-23,-8,-8,-10,80,-11,-9,-13,-1,-14,102,-14,51,-14,91,-14,-34,-14,-80,-13,-67,-12,0,-10,101,-9,-31,-8,96,-6,-13,-5,113,-3,-11,-2,103,0,-44,1,49,3,-115,4,-45,5,15,7,63,8,83,9,78,10,28,11,-65,11,34,12,75,12,35,12,-72,11,-10,10,-10,9,-90,8,39,7,115,5,-94,3,-55,1,-34,-1,16,-2,79,-4,-64,-6,80,-7,33,-8,26,-9,83,-10,-70,-11,81,-11,19,-11,3,-11,18,-11,76,-11,-90,-11,34,-10,-52,-10,-107,-9,-110,-8,-79,-7,6,-5,121,-4,30,-2,-43,-1,-92,1,-124,3,89,5,36,7,-62,8,61,10,107,11,98,12,-10,12,67,13,42,13,-53,12,7,12,15,11,-60,9,87,8,-69,6,1,5,66,3,117,1,-67,-1,5,-2,113,-4,-16,-6,-106,-7,98,-8,75,-9,100,-10,-92,-11,19,-11,-74,-12,-125,-12,-110,-12,-56,-12,64,-11,-20,-11,-50,-10,-28,-9,42,-7,-109,-6,34,-4,-66,-3,117,-1,37,1,-43,2,107,4,-18,5,65,7,119,8,106,9,57,10,-62,10,33,11,60,11,41,11,-36,10,98,10,-77,9,-31,8,-25,7,-59,6,-119,5,44,4,-65,2,61,1,-75,-1,42,-2,-102,-4,24,-5,-90,-7,82,-8,24,-9,19,-10,50,-11,-106,-12,45,-12,8,-12,35,-12,-123,-12,37,-11,9,-10,33,-9,117,-8,-17,-7,-118,-5,76,-3,16,-1,-25,0,-84,2,104,4,5,6,122,7,-54,8,-32,9,-63,10,92,11,-69,11,-41,11,-84,11,74,11,-89,10,-51,9,-53,8,-108,7,73,6,-40,4,97,3,-41,1,86,0,-42,-2,92,-3,-8,-5,-94,-6,115,-7,84,-8,101,-9,-105,-10,-14,-11,121,-11,54,-11,29,-11,69,-11,-107,-11,43,-10,-27,-10,-33,-9,-2,-8,78,-6,-67,-5,68,-3,-30,-2,125,0,31,2,-85,3,32,5,126,6,-83,7,-71,8,-121,9,53,10,-105,10,-39,10,-41,10,-81,10,80,10,-59,9,16,9,45,8,45,7,-2,5,-64,4,77,3,-42,1,57,0,-93,-2,-15,-4,92,-5,-68,-7,78,-8,-6,-10,-46,-11,-17,-12,66,-12,-21,-13,-35,-13,27,-12,-82,-12,-123,-11,-101,-10,-13,-9,100,-7,10,-5,-84,-4,97,-2,5,0,-106,1,21,3,107,4,-91,5,-81,6,-100,7,88,8,-9,8,108,9,-64,9,-10,9,0,10,-14,9,-83,9,81,9,-71,8,2,8,16,7,-11,5,-80,4,65,3,-73,1,21,0,108,-2,-61,-4,49,-5,-78,-7,95,-8,64,-9,88,-10,-77,-11,78,-11,45,-11,72,-11,-96,-11,40,-10,-34,-10,-74,-9,-84,-8,-74,-7,-41,-6,-13,-5,54,-3,103,-2,-76,-1,-1,0,82,2,-89,3,-1,4,72,6,-117,7,-77,8,-68,9,-105,10,58,11,-96,11,-77,11,-126,11,-7,10,38,10,1,9,-93,7,2,6,76,4,107,2,-110,0,-60,-2,-1,-4,114,-5,4,-6,-38,-8,-34,-9,40,-9,-96,-10,84,-10,52,-10,58,-10,101,-10,-81,-10,17,-9,-114,-9,37,-8,-47,-8,-95,-7,-127,-6,-110,-5,-75,-4,2,-2,98,-1,-32,0,99,2,-25,3,109,5,-48,6,28,8,42,9,11,10,-102,10,-16,10,-18,10,-81,10,34,10,101,9,105,8,81,7,20,6,-49,4,122,3,47,2,-22,0,-85,-1,127,-2,87,-3,73,-4,55,-5,67,-6,77,-7,108,-8,-105,-9,-36,-10,63,-10,-56,-11,-126,-11,116,-11,-93,-11,23,-10,-44,-10,-39,-9,29,-7,-97,-6,77,-4,30,-2,-11,-1,-33,1,-91,3,88,5,-46,6,22,8,21,9,-47,9,65,10,113,10,96,10,27,10,-93,9,12,9,76,8,-123,7,-102,6,-77,5,-71,4,-79,3,-95,2,-124,1,87,0,33,-1,-28,-3,-101,-4,88,-5,21,-6,-24,-8,-41,-9,-22,-10,48,-10,-79,-11,113,-11,119,-11,-57,-11,85,-10,44,-9,49,-8,110,-7,-63,-6,55,-4,-89,-3,30,-1,-124,0,-36,1,19,3,53,4,48,5,18,6,-48,6,125,7,10,8,-128,8,-35,8,30,9}; }
	private static byte[] data7(){ return new byte[] {68,9,66,9,34,9,-51,8,79,8,-106,7,-84,6,-116,5,58,4,-65,2,34,1,116,-1,-65,-3,12,-4,114,-6,-2,-8,-71,-9,-78,-10,-17,-11,116,-11,67,-11,84,-11,-80,-11,62,-10,8,-9,-16,-9,5,-7,33,-6,85,-5,-116,-4,-58,-3,1,-1,52,0,99,1,-120,2,-90,3,-73,4,-71,5,-81,6,-118,7,79,8,-21,8,104,9,-84,9,-62,9,-95,9,63,9,-85,8,-38,7,-43,6,-85,5,85,4,-17,2,122,1,-3,-1,-113,-2,44,-3,-21,-5,-64,-6,-55,-7,-21,-8,66,-8,-66,-9,94,-9,41,-9,19,-9,34,-9,83,-9,-96,-9,17,-8,-95,-8,82,-7,42,-6,26,-5,53,-4,100,-3,-74,-2,19,0,126,1,-13,2,93,4,-71,5,-7,6,17,8,-4,8,-80,9,36,10,88,10,77,10,-4,9,116,9,-83,8,-69,7,-99,6,102,5,15,4,-78,2,75,1,-19,-1,-114,-2,76,-3,19,-4,-6,-6,-3,-7,24,-7,89,-8,-68,-9,68,-9,-10,-10,-49,-10,-41,-10,8,-9,101,-9,-11,-9,-90,-8,-120,-7,-118,-6,-84,-5,-23,-4,46,-2,-116,-1,-29,0,56,2,-128,3,-82,4,-59,5,-72,6,-126,7,39,8,-101,8,-23,8,4,9,-12,8,-66,8,84,8,-46,7,29,7,89,6,104,5,104,4,75,3,36,2,-25,0,-81,-1,108,-2,49,-3,-3,-5,-41,-6,-50,-7,-39,-8,13,-8,102,-9,-21,-10,-93,-10,-119,-10,-90,-10,-11,-10,120,-9,47,-8,11,-7,26,-6,63,-5,-124,-4,-29,-3,68,-1,-74,0,19,2,118,3,-78,4,-35,5,-29,6,-64,7,115,8,-15,8,68,9,88,9,69,9,-11,8,-128,8,-40,7,15,7,30,6,25,5,-10,3,-51,2,-111,1,89,0,39,-1,-15,-3,-46,-4,-68,-5,-64,-6,-36,-7,21,-7,112,-8,-22,-9,-116,-9,84,-9,72,-9,100,-9,-81,-9,36,-8,-62,-8,-122,-7,114,-6,125,-5,-94,-4,-38,-3,33,-1,105,0,-75,1,-16,2,22,4,47,5,33,6,-11,6,-93,7,35,8,-128,8,-87,8,-77,8,-118,8,64,8,-52,7,56,7,126,6,-86,5,-76,4,-82,3,-120,2,85,1,19,0,-55,-2,125,-3,56,-4,0,-5,-33,-7,-33,-8,-4,-9,79,-9,-50,-10,-116,-10,-128,-10,-77,-10,28,-9,-61,-9,-109,-8,-104,-7,-75,-6,-12,-5,57,-3,-113,-2,-43,-1,25,1,71,2,99,3,99,4,67,5,12,6,-84,6,56,7,-101,7,-25,7,17,8,29,8,9,8,-47,7,123,7,-5,6,99,6,-110,5,-77,4,-92,3,-123,2,69,1,2,0,-84,-2,106,-3,40,-4,3,-5,-10,-7,22,-7,93,-8,-39,-9,-124,-9,101,-9,116,-9,-79,-9,26,-8,-93,-8,80,-7,15,-6,-18,-6,-50,-5,-58,-4,-60,-3,-54,-2,-36,-1,-22,0,-1,1,20,3,33,4,42,5,27,6,1,7,-60,7,100,8,-36,8,24,9,40,9,-14,8,-120,8,-31,7,1,7,-14,5,-70,4,103,3,-5,1,-109,0,43,-1,-48,-3,-106,-4,113,-5,-126,-6,-82,-7,18,-7,-105,-8,74,-8,36,-8,25,-8,55,-8,103,-8,-76,-8,31,-7,-107,-7,51,-6,-40,-6,-97,-5,126,-4,116,-3,-124,-2,-97,-1,-48,0,2,2,49,3,97,4,113,5,113,6,65,7,-20,7,94,8,-100,8,-92,8,115,8,13,8,126,7,-67,6,-21,5,-17,4,-11,3,-31,2,-38,1,-49,0,-59,-1,-50,-2,-44,-3,-14,-4,15,-4,66,-5,126,-6,-55,-7,36,-7,-102,-8,41,-8,-41,-9,-79,-9,-78,-9,-27,-9,78,-8,-24,-8,-72,-7,-68,-6,-35,-5,51,-3,-117,-2,-4,-1,107,1,-57,2,25,4,54,5,63,6,2,7,-92,7,3,8,56,8,57,8,17,8,-64,7,82,7,-59,6,38,6,114,5,-80,4,-27,3,10,3,35,2,55,1,59,0,58,-1,56,-2,49,-3,44,-4,49,-5,71,-6,115,-7,-63,-8,53,-8,-42,-9,-86,-9,-79,-9,-18,-9,95,-8,2,-7,-52,-7,-65,-6,-57,-5,-26,-4,11,-2,45,-1,80,0,99,1,100,2,81,3,38,4,-28,4,-122,5,24,6,-115,6,-17,6,56,7,100,7,124,7,109,7,72,7,-9,6,-123,6,-25,5,36,5,60,4,44,3,6,2,-62,0,119,-1,40,-2,-36,-4,-92,-5,-122,-6,-114,-7,-62,-8,42,-8,-57,-9,-103,-9,-96,-9,-36,-9,68,-8,-43,-8,-120,-7,85,-6,53,-5,36,-4,29,-3,25,-2,26,-1,21,0,16,1,2,2,-17,2,-51,3,-95,4,103,5,22,6,-79,6,40,7,-120,7,-75,7,-56,7,-95,7,86,7,-36,6,53,6,107,5,126,4,118,3,89,2,59,1,9,0,-18,-2,-49,-3,-48,-4,-34,-5,18,-5,94,-6,-52,-7,94,-7,11,-7,-39,-8,-53,-8,-49,-8,-1,-8,59,-7,-96,-7,26,-6}; }
	private static byte[] data8(){ return new byte[] {-80,-6,103,-5,43,-4,25,-3,10,-2,29,-1,49,0,79,1,116,2,-119,3,-102,4,-118,5,100,6,22,7,-100,7,-8,7,28,8,22,8,-39,7,110,7,-36,6,28,6,69,5,85,4,68,3,61,2,24,1,9,0,-14,-2,-22,-3,-14,-4,12,-4,62,-5,-124,-6,-26,-7,101,-7,5,-7,-61,-8,-92,-8,-86,-8,-46,-8,31,-7,-112,-7,33,-6,-42,-6,-94,-5,-115,-4,-124,-3,-115,-2,-99,-1,-76,0,-66,1,-59,2,-72,3,-107,4,89,5,0,6,126,6,-25,6,31,7,60,7,49,7,3,7,-76,6,69,6,-72,5,21,5,86,4,127,3,-98,2,-85,1,-85,0,-78,-1,-84,-2,-79,-3,-70,-4,-42,-5,-3,-6,72,-6,-98,-7,39,-7,-61,-8,-111,-8,-127,-8,-104,-8,-33,-8,66,-7,-38,-7,-122,-6,93,-5,68,-4,67,-3,87,-2,109,-1,-115,0,-93,1,-74,2,-78,3,-102,4,109,5,25,6,-84,6,16,7,81,7,109,7,88,7,36,7,-56,6,69,6,-83,5,-20,4,33,4,58,3,75,2,82,1,86,0,93,-1,103,-2,120,-3,-100,-4,-51,-5,19,-5,115,-6,-20,-7,-126,-7,53,-7,12,-7,-1,-8,31,-7,85,-7,-68,-7,55,-6,-40,-6,-105,-5,105,-4,86,-3,77,-2,83,-1,87,0,95,1,89,2,68,3,36,4,-26,4,-113,5,27,6,-125,6,-51,6,-16,6,-9,6,-42,6,-103,6,61,6,-67,5,46,5,119,4,-71,3,-35,2,-12,1,-5,0,-5,-1,-10,-2,-17,-3,-12,-4,-3,-5,31,-5,89,-6,-84,-7,37,-7,-56,-8,-114,-8,-115,-8,-83,-8,2,-7,126,-7,31,-6,-27,-6,-63,-5,-72,-4,-76,-3,-65,-2,-61,-1,-65,0,-71,1,-102,2,110,3,40,4,-48,4,85,5,-47,5,31,6,101,6,-125,6,-110,6,121,6,81,6,-3,5,-100,5,15,5,115,4,-80,3,-36,2,-13,1,-10,0,-11,-1,-21,-2,-24,-3,-13,-4,6,-4,58,-5,-126,-6,-10,-7,-122,-7,67,-7,38,-7,43,-7,93,-7,-89,-7,20,-6,-100,-6,51,-5,-24,-5,-97,-4,103,-3,59,-2,18,-1,-15,-1,-48,0,-78,1,-116,2,105,3,51,4,-15,4,-94,5,50,6,-84,6,-1,6,41,7,47,7,-1,6,-86,6,41,6,119,5,-85,4,-72,3,-77,2,-96,1,-123,0,115,-1,97,-2,106,-3,-126,-4,-65,-5,16,-5,-115,-6,31,-6,-38,-7,-78,-7,-94,-7,-79,-7,-43,-7,19,-6,101,-6,-50,-6,75,-5,-36,-5,127,-4,58,-3,3,-2,-32,-2,-56,-1,-72,0,-84,1,-102,2,-123,3,93,4,29,5,-61,5,67,6,-97,6,-49,6,-41,6,-76,6,102,6,-3,5,101,5,-57,4,-1,3,59,3,97,2,-119,1,-76,0,-41,-1,12,-1,60,-2,-127,-3,-59,-4,28,-4,127,-5,-18,-6,111,-6,5,-6,-76,-7,121,-7,107,-7,109,-7,-87,-7,-10,-7,-128,-6,32,-5,-19,-5,-44,-4,-43,-3,-29,-2,-3,-1,20,1,39,2,35,3,13,4,-47,4,121,5,-13,5,80,6,121,6,-117,6,111,6,58,6,-20,5,124,5,7,5,113,4,-39,3,49,3,120,2,-62,1,-13,0,44,0,85,-1,-126,-2,-78,-3,-33,-4,26,-4,99,-5,-63,-6,53,-6,-49,-7,-124,-7,103,-7,109,-7,-99,-7,-9,-7,114,-6,18,-5,-51,-5,-105,-4,125,-3,94,-2,70,-1,49,0,8,1,-30,1,-100,2,85,3,-20,3,122,4,-16,4,83,5,-94,5,-38,5,-4,5,7,6,-9,5,-52,5,-118,5,31,5,-95,4,-6,3,67,3,104,2,-127,1,-124,0,-127,-1,-126,-2,127,-3,-113,-4,-73,-5,-14,-6,90,-6,-38,-7,-111,-7,100,-7,105,-7,-113,-7,-38,-7,70,-6,-51,-6,108,-5,25,-4,-43,-4,-100,-3,103,-2,56,-1,2,0,-44,0,-107,1,94,2,15,3,-67,3,92,4,-27,4,101,5,-69,5,10,6,38,6,51,6,17,6,-44,5,113,5,-21,4,79,4,-112,3,-60,2,-29,1,2,1,16,0,50,-1,74,-2,-126,-3,-70,-4,23,-4,-126,-5,9,-5,-83,-6,101,-6,60,-6,45,-6,51,-6,86,-6,-114,-6,-33,-6,72,-5,-58,-5,91,-4,0,-3,-63,-3,-123,-2,97,-1,62,0,30,1,5,2,-32,2,-84,3,111,4,15,5,-101,5,2,6,69,6,101,6,94,6,48,6,-34,5,108,5,-37,4,51,4,118,3,-89,2,-48,1,-15,0,19,0,56,-1,99,-2,-99,-3,-34,-4,62,-4,-98,-5,38,-5,-74,-6,107,-6,53,-6,26,-6,34,-6,63,-6,127,-6,-37,-6,77,-5,-31,-5,-126,-4,61,-3,5,-2,-45,-2,-77,-1,-119,0,99,1,49,2,-11,2,-89,3,65,4,-51,4,44,5,-118,5,-79,5,-49,5,-60,5,-96,5,100,5,6,5,-103,4,19,4,118,3,-52,2,19,2,77,1}; }
	private static byte[] data9(){ return new byte[] {-123,0,-77,-1,-22,-2,26,-2,89,-3,-95,-4,-4,-5,98,-5,-19,-6,-128,-6,65,-6,20,-6,11,-6,35,-6,88,-6,-81,-6,32,-5,-79,-5,83,-4,18,-3,-42,-3,-78,-2,-117,-1,112,0,74,1,35,2,-23,2,-93,3,71,4,-45,4,70,5,-105,5,-47,5,-32,5,-36,5,-81,5,106,5,8,5,-119,4,-6,3,82,3,-94,2,-36,1,28,1,74,0,-119,-1,-68,-2,1,-2,73,-3,-92,-4,15,-4,-119,-5,35,-5,-59,-6,-112,-6,104,-6,103,-6,121,-6,-81,-6,-6,-6,101,-5,-31,-5,127,-4,35,-3,-26,-3,-91,-2,122,-1,71,0,26,1,-31,1,-100,2,80,3,-24,3,116,4,-31,4,54,5,114,5,-114,5,-109,5,122,5,71,5,-5,4,-105,4,29,4,-114,3,-18,2,65,2,-126,1,-68,0,-16,-1,31,-1,81,-2,-119,-3,-53,-4,27,-4,-123,-5,-7,-6,-102,-6,72,-6,39,-6,27,-6,61,-6,119,-6,-37,-6,85,-5,-18,-5,-104,-4,89,-3,28,-2,-15,-2,-70,-1,-119,0,76,1,5,2,-78,2,74,3,-43,3,71,4,-88,4,-14,4,37,5,68,5,75,5,58,5,18,5,-46,4,122,4,13,4,-121,3,-21,2,65,2,-125,1,-67,0,-18,-1,32,-1,79,-2,-109,-3,-45,-4,56,-4,-94,-5,53,-5,-37,-6,-94,-6,-118,-6,-116,-6,-82,-6,-22,-6,61,-5,-89,-5,37,-4,-81,-4,75,-3,-25,-3,-102,-2,71,-1,-2,-1,-76,0,104,1,29,2,-57,2,107,3,-2,3,-124,4,-12,4,81,5,-122,5,-82,5,-95,5,-123,5,56,5,-42,4,74,4,-86,3,-14,2,38,2,83,1,117,0,-95,-1,-56,-2,10,-2,75,-3,-79,-4,32,-4,-79,-5,86,-5,26,-5,-19,-6,-28,-6,-29,-6,5,-5,48,-5,120,-5,-55,-5,53,-4,-85,-4,50,-3,-51,-3,114,-2,35,-1,-30,-1,-99,0,99,1,26,2,-40,2,121,3,23,4,-111,4,-7,4,64,5,100,5,111,5,81,5,29,5,-61,4,89,4,-45,3,63,3,-96,2,-14,1,69,1,-104,0,-29,-1,63,-1,-111,-2,-9,-3,94,-3,-45,-4,86,-4,-32,-5,127,-5,45,-5,-15,-6,-53,-6,-64,-6,-49,-6,-2,-6,70,-5,-80,-5,54,-4,-44,-4,-119,-3,84,-2,35,-1,-4,-1,-40,0,-88,1,114,2,35,3,-61,3,69,4,-81,4,-9,4,33,5,52,5,36,5,1,5,-59,4,114,4,21,4,-98,3,35,3,-103,2,6,2,104,1,-59,0,30,0,110,-1,-56,-2,25,-2,120,-3,-41,-4,75,-4,-55,-5,98,-5,15,-5,-38,-6,-61,-6,-54,-6,-18,-6,56,-5,-108,-5,20,-4,-94,-4,68,-3,-11,-3,-89,-2,99,-1,24,0,-51,0,119,1,19,2,-85,2,38,3,-98,3,-3,3,82,4,-114,4,-66,4,-46,4,-34,4,-60,4,-89,4,96,4,16,4,-95,3,27,3,-121,2,-42,1,35,1,87,0,-108,-1,-58,-2,4,-2,72,-3,-99,-4,11,-4,-117,-5,49,-5,-19,-6,-53,-6,-53,-6,-30,-6,30,-5,107,-5,-43,-5,76,-4,-41,-4,105,-3,10,-2,-85,-2,85,-1,-6,-1,-93,0,71,1,-32,1,124,2,-1,2,-123,3,-14,3,83,4,-100,4,-46,4,-19,4,-17,4,-40,4,-97,4,85,4,-23,3,107,3,-39,2,49,2,-120,1,-49,0,22,0,96,-1,-84,-2,6,-2,108,-3,-31,-4,107,-4,7,-4,-71,-5,-128,-5,90,-5,77,-5,84,-5,110,-5,-95,-5,-33,-5,59,-4,-96,-4,28,-3,-90,-3,61,-2,-30,-2,-115,-1,67,0,-19,0,-83,1,74,2,-5,2,-126,3,10,4,112,4,-65,4,-7,4,9,5,11,5,-30,4,-90,4,78,4,-37,3,91,3,-60,2,37,2,120,1,-53,0,23,0,107,-1,-65,-2,30,-2,-120,-3,0,-3,-124,-4,33,-4,-61,-5,-116,-5,89,-5,74,-5,74,-5,104,-5,-106,-5,-28,-5,62,-4,-77,-4,53,-3,-51,-3,104,-2,17,-1,-65,-1,107,0,27,1,-66,1,91,2,-25,2,104,3,-47,3,41,4,105,4,-109,4,-91,4,-95,4,-123,4,80,4,11,4,-81,3,67,3,-58,2,60,2,-92,1,10,1,96,0,-63,-1,22,-1,121,-2,-40,-3,74,-3,-61,-4,79,-4,-20,-5,-96,-5,103,-5,74,-5,67,-5,87,-5,-124,-5,-56,-5,36,-4,-106,-4,24,-3,-80,-3,73,-2,-8,-2,-93,-1,89,0,4,1,-77,1,74,2,-29,2,96,3,-43,3,44,4,114,4,-99,4,-82,4,-87,4,-117,4,81,4,8,4,-92,3,49,3,-80,2,30,2,-121,1,-27,0,70,0,-93,-1,2,-1,106,-2,-44,-3,81,-3,-42,-4,109,-4,23,-4,-48,-5,-96,-5,-122,-5,-127,-5,-107,-5,-67,-5,-3,-5,80,-4,-71,-4,51,-3,-71,-3,84,-2,-20,-2,-104,-1,58,0,-31,0,-125,1,19,2}; }
	private static byte[] data10(){ return new byte[] {-87,2,31,3,-113,3,-23,3,41,4,95,4,113,4,120,4,97,4,59,4,-5,3,-86,3,72,3,-46,2,84,2,-60,1,47,1,-115,0,-22,-1,71,-1,-97,-2,5,-2,111,-3,-29,-4,112,-4,4,-4,-74,-5,126,-5,91,-5,91,-5,110,-5,-97,-5,-21,-5,74,-4,-64,-4,70,-3,-38,-3,117,-2,30,-1,-69,-1,97,0,-1,0,-111,1,35,2,-103,2,16,3,109,3,-69,3,-3,3,35,4,62,4,69,4,52,4,20,4,-34,3,-107,3,61,3,-51,2,83,2,-60,1,50,1,-112,0,-18,-1,71,-1,-89,-2,13,-2,125,-3,-7,-4,-117,-4,44,-4,-22,-5,-71,-5,-92,-5,-91,-5,-67,-5,-20,-5,44,-4,-126,-4,-28,-4,86,-3,-47,-3,82,-2,-28,-2,108,-1,9,0,-108,0,47,1,-73,1,70,2,-63,2,58,3,-96,3,-9,3,56,4,104,4,121,4,120,4,86,4,33,4,-55,3,103,3,-32,2,87,2,-73,1,17,1,102,0,-65,-1,21,-1,125,-2,-27,-3,106,-3,-15,-4,-103,-4,74,-4,19,-4,-12,-5,-34,-5,-26,-5,-10,-5,31,-4,83,-4,-101,-4,-15,-4,81,-3,-60,-3,63,-2,-57,-2,89,-1,-21,-1,-118,0,32,1,-74,1,71,2,-55,2,66,3,-94,3,-10,3,39,4,77,4,78,4,62,4,17,4,-47,3,121,3,23,3,-100,2,34,2,-107,1,11,1,-128,0,-22,-1,103,-1,-42,-2,90,-2,-35,-3,106,-3,8,-3,-88,-4,93,-4,27,-4,-12,-5,-45,-5,-44,-5,-31,-5,9,-4,73,-4,-101,-4,9,-3,-122,-3,20,-2,-79,-2,86,-1,-5,-1,-86,0,74,1,-25,1,116,2,-14,2,92,3,-82,3,-16,3,15,4,38,4,29,4,2,4,-39,3,-105,3,77,3,-15,2,-116,2,28,2,-93,1,36,1,-99,0,21,0,-119,-1,-6,-2,122,-2,-19,-3,119,-3,3,-3,-96,-4,79,-4,14,-4,-23,-5,-44,-5,-35,-5,-6,-5,48,-4,126,-4,-35,-4,80,-3,-52,-3,90,-2,-26,-2,121,-1,15,0,-102,0,42,1,-91,1,33,2,-118,2,-24,2,59,3,122,3,-78,3,-48,3,-25,3,-25,3,-44,3,-74,3,125,3,54,3,-35,2,112,2,-9,1,108,1,-39,0,64,0,-97,-1,6,-1,104,-2,-40,-3,85,-3,-32,-4,125,-4,53,-4,-4,-5,-25,-5,-37,-5,-13,-5,25,-4,87,-4,-88,-4,3,-3,116,-3,-30,-3,104,-2,-28,-2,114,-1,-9,-1,125,0,6,1,-128,1,-1,1,107,2,-45,2,46,3,119,3,-76,3,-37,3,-16,3,-15,3,-37,3,-80,3,114,3,29,3,-72,2,69,2,-61,1,54,1,-83,0,17,0,-120,-1,-12,-2,113,-2,-13,-3,-124,-3,36,-3,-47,-4,-109,-4,96,-4,68,-4,56,-4,59,-4,85,-4,121,-4,-78,-4,-5,-4,78,-3,-75,-3,35,-2,-95,-2,35,-1,-81,-1,60,0,-55,0,89,1,-34,1,94,2,-46,2,52,3,-120,3,-61,3,-17,3,0,4,-4,3,-31,3,-80,3,106,3,19,3,-83,2,56,2,-71,1,51,1,-92,0,29,0,-117,-1,7,-1,-125,-2,11,-2,-99,-3,57,-3,-27,-4,-96,-4,109,-4,72,-4,57,-4,59,-4,82,-4,119,-4,-73,-4,-4,-4,96,-3,-62,-3,61,-2,-69,-2,63,-1,-52,-1,84,0,-32,0,100,1,-33,1,84,2,-76,2,17,3,80,3,-119,3,-86,3,-70,3,-75,3,-96,3,118,3,62,3,-11,2,-99,2,55,2,-54,1,79,1,-49,0,78,0,-60,-1,70,-1,-66,-2,69,-2,-48,-3,102,-3,10,-3,-68,-4,-127,-4,85,-4,63,-4,60,-4,78,-4,116,-4,-81,-4,-8,-4,83,-3,-68,-3,51,-2,-85,-2,53,-1,-72,-1,66,0,-57,0,71,1,-64,1,47,2,-106,2,-20,2,55,3,108,3,-110,3,-90,3,-90,3,-109,3,111,3,54,3,-16,2,-103,2,51,2,-57,1,74,1,-50,0,74,0,-58,-1,68,-1,-63,-2,77,-2,-39,-3,119,-3,31,-3,-41,-4,-96,-4,121,-4,100,-4,102,-4,116,-4,-101,-4,-50,-4,21,-3,106,-3,-51,-3,57,-2,-79,-2,46,-1,-79,-1,51,0,-73,0,49,1,-85,1,27,2,123,2,-40,2,26,3,86,3,124,3,-112,3,-110,3,-126,3,95,3,42,3,-24,2,-110,2,51,2,-59,1,83,1,-43,0,87,0,-45,-1,85,-1,-45,-2,99,-2,-18,-3,-113,-3,56,-3,-19,-4,-70,-4,-115,-4,125,-4,117,-4,-118,-4,-92,-4,-33,-4,26,-3,115,-3,-52,-3,59,-2,-85,-2,40,-1,-90,-1,34,0,-90,0,30,1,-103,1,0,2,106,2,-69,2,6,3,63,3,99,3,125,3,125,3,113,3,81,3,30,3,-33,2,-116,2,51,2,-58,1,87,1,-35,0,96,0,-32,-1,102,-1,-26,-2,119,-2,7,-2,-93,-3,81,-3,5,-3,-48,-4}; }
	private static byte[] data11(){ return new byte[] {-92,-4,-112,-4,-117,-4,-104,-4,-72,-4,-27,-4,41,-3,116,-3,-45,-3,56,-2,-90,-2,32,-1,-102,-1,23,0,-106,0,13,1,-126,1,-17,1,80,2,-91,2,-17,2,37,3,79,3,103,3,105,3,99,3,62,3,21,3,-44,2,-120,2,46,2,-57,1,90,1,-27,0,104,0,-13,-1,112,-1,-2,-2,-121,-2,28,-2,-68,-3,101,-3,29,-3,-27,-4,-67,-4,-93,-4,-96,-4,-89,-4,-57,-4,-13,-4,47,-3,126,-3,-45,-3,55,-2,-91,-2,23,-1,-111,-1,12,0,-124,0,-1,0,106,1,-36,1,55,2,-111,2,-43,2,18,3,55,3,83,3,89,3,76,3,54,3,5,3,-52,2,-126,2,41,2,-55,1,93,1,-22,0,118,0,-7,-1,-123,-1,10,-1,-99,-2,47,-2,-46,-3,124,-3,53,-3,-5,-4,-47,-4,-69,-4,-81,-4,-70,-4,-42,-4,-4,-4,61,-3,126,-3,-39,-3,54,-2,-94,-2,18,-1,-120,-1,-4,-1,119,0,-21,0,91,1,-59,1,36,2,121,2,-63,2,-6,2,35,3,61,3,70,3,62,3,36,3,-5,2,-62,2,122,2,40,2,-55,1,97,1,-15,0,125,0,7,0,-111,-1,29,-1,-81,-2,68,-2,-23,-3,-113,-3,77,-3,16,-3,-25,-4,-50,-4,-63,-4,-52,-4,-29,-4,9,-3,69,-3,-122,-3,-37,-3,57,-2,-100,-2,14,-1,124,-1,-12,-1,103,0,-36,0,72,1,-78,1,15,2,99,2,-87,2,-25,2,11,3,45,3,48,3,47,3,21,3,-17,2,-71,2,119,2,33,2,-52,1,95,1,-6,0,-123,0,17,0,-96,-1,44,-1,-62,-2,87,-2,-3,-3,-91,-3,97,-3,39,-3,-5,-4,-30,-4,-43,-4,-36,-4,-15,-4,23,-3,76,-3,-114,-3,-33,-3,55,-2,-101,-2,5,-1,119,-1,-26,-1,93,0,-54,0,55,1,-96,1,-8,1,80,2,-108,2,-49,2,-5,2,20,3,34,3,28,3,7,3,-27,2,-82,2,112,2,30,2,-54,1,99,1,-3,0,-111,0,27,0,-80,-1,58,-1,-46,-2,108,-2,14,-2,-67,-3,116,-3,60,-3,17,-3,-13,-4,-22,-4,-23,-4,2,-3,34,-3,84,-3,-105,-3,-33,-3,58,-2,-104,-2,2,-1,109,-1,-33,-1,76,0,-69,0,39,1,-118,1,-25,1,58,2,-128,2,-69,2,-27,2,4,3,13,3,13,3,-6,2,-43,2,-87,2,101,2,29,2,-55,1,102,1,4,1,-108,0,43,0,-74,-1,78,-1,-31,-2,125,-2,37,-2,-49,-3,-117,-3,80,-3,36,-3,8,-3,-7,-4,-4,-4,15,-3,45,-3,96,-3,-101,-3,-28,-3,62,-2,-108,-2,-1,-2,98,-1,-43,-1,64,0,-84,0,23,1,119,1,-42,1,37,2,107,2,-89,2,-47,2,-17,2,-2,2,-5,2,-21,2,-51,2,-102,2,98,2,25,2,-59,1,106,1,6,1,-98,0,49,0,-58,-1,91,-1,-13,-2,-112,-2,54,-2,-28,-3,-97,-3,99,-3,56,-3,26,-3,12,-3,12,-3,27,-3,59,-3,105,-3,-94,-3,-21,-3,58,-2,-105,-2,-10,-2,96,-1,-55,-1,51,0,-95,0,4,1,105,1,-65,1,18,2,88,2,-111,2,-64,2,-37,2,-19,2,-20,2,-36,2,-64,2,-109,2,90,2,21,2,-60,1,106,1,11,1,-92,0,58,0,-44,-1,102,-1,6,-1,-98,-2,74,-2,-10,-3,-77,-3,121,-3,73,-3,47,-3,26,-3,31,-3,40,-3,72,-3,112,-3,-83,-3,-23,-3,64,-2,-110,-2,-11,-2,88,-1,-64,-1,41,0,-111,0,-9,0,85,1,-81,1,-1,1,67,2,-128,2,-86,2,-52,2,-39,2,-35,2,-50,2,-75,2,-120,2,84,2,15,2,-62,1,109,1,13,1,-82,0,65,0,-32,-1,116,-1,17,-1,-76,-2,88,-2,11,-2,-58,-3,-118,-3,95,-3,63,-3,45,-3,46,-3,53,-3,84,-3,122,-3,-79,-3,-13,-3,61,-2,-108,-2,-15,-2,81,-1,-71,-1,28,0,-125,0,-25,0,69,1,-99,1,-18,1,48,2,108,2,-104,2,-72,2,-54,2,-51,2,-64,2,-87,2,126,2,77,2,11,2,-62,1,108,1,19,1,-81,0,79,0,-26,-1,-124,-1,30,-1,-58,-2,105,-2,32,-2,-43,-3,-96,-3,112,-3,81,-3,63,-3,59,-3,68,-3,97,-3,-126,-3,-69,-3,-12,-3,68,-2,-112,-2,-18,-2,74,-1,-81,-1,20,0,117,0,-37,0,51,1,-114,1,-39,1,31,2,89,2,-124,2,-87,2,-74,2,-64,2,-79,2,-99,2,118,2,68,2,8,2,-67,1,111,1,20,1,-73,0,84,0,-11,-1,-115,-1,50,-1,-48,-2,127,-2,45,-2,-21,-3,-80,-3,-125,-3,98,-3,81,-3,73,-3,84,-3,106,-3,-114,-3,-64,-3,-4,-3,67,-2,-111,-2,-22,-2,70,-1,-89,-1,9,0,108,0,-56,0,39,1,120,1,-52,1,9,2,73,2,115,2,-108,2,-86,2,-84,2,-87,2,-114,2}; }
	private static byte[] data12(){ return new byte[] {110,2,60,2,2,2,-66,1,107,1,25,1,-69,0,94,0,-3,-1,-101,-1,60,-1,-29,-2,-116,-2,65,-2,-4,-3,-60,-3,-109,-3,118,-3,94,-3,91,-3,96,-3,118,-3,-104,-3,-58,-3,2,-2,67,-2,-108,-2,-27,-2,68,-1,-99,-1,0,0,92,0,-65,0,20,1,108,1,-74,1,-5,1,54,2,97,2,-124,2,-105,2,-97,2,-102,2,-125,2,100,2,53,2,-4,1,-70,1,111,1,25,1,-61,0,99,0,7,0,-90,-1,75,-1,-15,-2,-99,-2,83,-2,13,-2,-43,-3,-89,-3,-126,-3,115,-3,102,-3,112,-3,-128,-3,-95,-3,-48,-3,3,-2,76,-2,-114,-2,-24,-2,59,-1,-104,-1,-11,-1,84,0,-81,0,7,1,92,1,-90,1,-24,1,37,2,78,2,117,2,-121,2,-112,2,-116,2,120,2,90,2,46,2,-8,1,-73,1,110,1,28,1,-58,0,107,0,15,0,-79,-1,89,-1,-2,-2,-81,-2,96,-2,32,-2,-26,-3,-74,-3,-104,-3,125,-3,121,-3,123,-3,-116,-3,-82,-3,-46,-3,15,-2,71,-2,-108,-2,-29,-2,54,-1,-110,-1,-19,-1,71,0,-90,0,-9,0,77,1,-107,1,-39,1,18,2,64,2,97,2,123,2,127,2,-128,2,108,2,81,2,38,2,-12,1,-79,1,112,1,27,1,-51,0,113,0,25,0,-68,-1,101,-1,11,-1,-65,-2,111,-2,49,-2,-9,-3,-57,-3,-88,-3,-115,-3,-121,-3,-120,-3,-102,-3,-77,-3,-33,-3,13,-2,80,-2,-110,-2,-31,-2,52,-1,-117,-1,-28,-1,63,0,-107,0,-20,0,60,1,-122,1,-55,1,0,2,49,2,80,2,108,2,111,2,117,2,95,2,72,2,31,2,-21,1,-77,1,108,1,32,1,-47,0,116,0,38,0,-63,-1,117,-1,22,-1,-51,-2,-125,-2,63,-2,8,-2,-40,-3,-74,-3,-97,-3,-107,-3,-108,-3,-91,-3,-67,-3,-26,-3,21,-2,81,-2,-109,-2,-31,-2,47,-1,-124,-1,-35,-1,49,0,-114,0,-38,0,49,1,118,1,-71,1,-15,1,29,2,66,2,92,2,98,2,103,2,84,2,61,2,25,2,-27,1,-80,1,107,1,33,1,-46,0,-128,0,36,0,-42,-1,119,-1,44,-1,-40,-2,-111,-2,80,-2,24,-2,-24,-3,-57,-3,-84,-3,-93,-3,-93,-3,-82,-3,-54,-3,-23,-3,31,-2,81,-2,-105,-2,-34,-2,43,-1,-128,-1,-45,-1,42,0,127,0,-45,0,30,1,105,1,-90,1,-29,1,12,2,53,2,72,2,91,2,83,2,79,2,47,2,20,2,-33,1,-82,1,102,1,38,1,-45,0,-124,0,48,0,-38,-1,-121,-1,54,-1,-27,-2,-94,-2,93,-2,41,-2,-9,-3,-40,-3,-70,-3,-78,-3,-82,-3,-69,-3,-47,-3,-11,-3,32,-2,87,-2,-105,-2,-37,-2,43,-1,120,-1,-50,-1,33,0,115,0,-57,0,16,1,90,1,-103,1,-48,1,1,2,33,2,62,2,72,2,76,2,62,2,43,2,8,2,-37,1,-86,1,100,1,39,1,-40,0,-119,0,55,0,-28,-1,-111,-1,66,-1,-13,-2,-81,-2,109,-2,57,-2,6,-2,-25,-3,-56,-3,-64,-3,-69,-3,-59,-3,-36,-3,-5,-3,37,-2,93,-2,-107,-2,-32,-2,35,-1,119,-1,-59,-1,22,0,108,0,-74,0,6,1,74,1,-117,1,-63,1,-14,1,18,2,47,2,59,2,61,2,55,2,30,2,2,2,-41,1,-94,1,105,1,35,1,-36,0,-114,0,62,0,-20,-1,-101,-1,77,-1,2,-1,-67,-2,125,-2,70,-2,23,-2,-13,-3,-38,-3,-53,-3,-56,-3,-47,-3,-28,-3,3,-2,46,-2,92,-2,-100,-2,-38,-2,36,-1,111,-1,-66,-1,16,0,95,0,-82,0,-10,0,63,1,122,1,-75,1,-34,1,8,2,30,2,46,2,50,2,42,2,22,2,-6,1,-48,1,-95,1,101,1,36,1,-33,0,-112,0,71,0,-12,-1,-90,-1,89,-1,15,-1,-56,-2,-114,-2,81,-2,42,-2,-1,-3,-23,-3,-40,-3,-43,-3,-38,-3,-15,-3,7,-2,54,-2,95,-2,-96,-2,-43,-2,38,-1,104,-1,-70,-1,7,0,86,0,-96,0,-19,0,46,1,110,1,-92,1,-46,1,-8,1,16,2,35,2,36,2,31,2,16,2,-18,1,-50,1,-103,1,102,1,35,1,-31,0,-106,0,75,0,-3,-1,-80,-1,99,-1,26,-1,-39,-2,-106,-2,103,-2,50,-2,17,-2,-10,-3,-27,-3,-31,-3,-26,-3,-8,-3,17,-2,58,-2,99,-2,-95,-2,-41,-2,35,-1,100,-1,-76,-1,-2,-1,75,0,-103,0,-35,0,35,1,95,1,-105,1,-60,1,-22,1,1,2,22,2,23,2,23,2,3,2,-23,1,-58,1,-106,1,99,1,37,1,-30,0,-101,0,81,0,4,0,-72,-1,112,-1,37,-1,-24,-2,-93,-2,116,-2,66,-2,30,-2,4,-2,-14,-3,-20,-3,-14,-3,0,-2,26,-2,62,-2,106,-2,-95,-2,-38,-2}; }
	private static byte[] data13(){ return new byte[] {29,-1,100,-1,-85,-1,-7,-1,67,0,-117,0,-44,0,22,1,81,1,-118,1,-75,1,-37,1,-10,1,6,2,15,2,9,2,-5,1,-30,1,-65,1,-109,1,97,1,35,1,-26,0,-100,0,88,0,10,0,-61,-1,120,-1,50,-1,-13,-2,-79,-2,-126,-2,78,-2,45,-2,17,-2,-2,-3,-6,-3,-5,-3,9,-2,35,-2,67,-2,111,-2,-93,-2,-38,-2,26,-1,99,-1,-94,-1,-10,-1,54,0,-123,0,-56,0,9,1,69,1,122,1,-87,1,-52,1,-21,1,-8,1,5,2,-4,1,-13,1,-38,1,-70,1,-114,1,95,1,34,1,-25,0,-95,0,93,0,18,0,-53,-1,-126,-1,63,-1,-5,-2,-61,-2,-119,-2,96,-2,58,-2,28,-2,14,-2,1,-2,8,-2,19,-2,41,-2,74,-2,115,-2,-94,-2,-33,-2,23,-1,93,-1,-93,-1,-23,-1,50,0,121,0,-70,0,-1,0,56,1,110,1,-102,1,-63,1,-38,1,-16,1,-10,1,-11,1,-25,1,-44,1,-78,1,-117,1,91,1,35,1,-22,0,-93,0,97,0,26,0,-47,-1,-113,-1,71,-1,7,-1,-48,-2,-104,-2,109,-2,70,-2,42,-2,25,-2,14,-2,19,-2,25,-2,52,-2,78,-2,120,-2,-90,-2,-35,-2,25,-1,89,-1,-99,-1,-30,-1,42,0,111,0,-79,0,-12,0,42,1,98,1,-114,1,-78,1,-48,1,-31,1,-21,1,-20,1,-35,1,-52,1,-83,1,-123,1,91,1,33,1,-23,0,-88,0,101,0,31,0,-37,-1,-105,-1,81,-1,24,-1,-42,-2,-88,-2,120,-2,82,-2,58,-2,33,-2,30,-2,24,-2,38,-2,58,-2,84,-2,126,-2,-89,-2,-33,-2,24,-1,85,-1,-102,-1,-38,-1,37,0,99,0,-86,0,-26,0,31,1,85,1,127,1,-88,1,-63,1,-41,1,-32,1,-34,1,-39,1,-63,1,-88,1,-126,1,86,1,33,1,-22,0,-87,0,107,0,37,0,-29,-1,-98,-1,94,-1,31,-1,-27,-2,-76,-2,-126,-2,100,-2,65,-2,49,-2,38,-2,37,-2,45,-2,67,-2,89,-2,-125,-2,-86,-2,-33,-2,23,-1,82,-1,-106,-1,-42,-1,27,0,94,0,-100,0,-35,0,19,1,72,1,117,1,-103,1,-74,1,-53,1,-43,1,-44,1,-47,1,-73,1,-91,1,122,1,85,1,32,1,-23,0,-81,0,109,0,44,0,-22,-1,-89,-1,103,-1,42,-1,-15,-2,-67,-2,-108,-2,107,-2,81,-2,59,-2,48,-2,49,-2,53,-2,73,-2,98,-2,-122,-2,-83,-2,-31,-2,20,-1,84,-1,-113,-1,-45,-1,17,0,86,0,-109,0,-48,0,11,1,57,1,108,1,-118,1,-84,1,-66,1,-53,1,-54,1,-58,1,-78,1,-100,1,121,1,80,1,32,1,-22,0,-80,0,113,0,50,0,-16,-1,-80,-1,112,-1,53,-1,-4,-2,-53,-2,-98,-2,120,-2,92,-2,72,-2,57,-2,61,-2,60,-2,82,-2,104,-2,-119,-2,-77,-2,-33,-2,24,-1,76,-1,-113,-1,-54,-1,13,0,76,0,-117,0,-58,0,-2,0,50,1,89,1,-123,1,-101,1,-75,1,-65,1,-63,1,-67,1,-85,1,-107,1,117,1,76,1,32,1,-24,0,-76,0,115,0,57,0,-10,-1,-72,-1,122,-1,63,-1,7,-1,-41,-2,-89,-2,-122,-2,103,-2,82,-2,72,-2,65,-2,74,-2,86,-2,113,-2,-117,-2,-71,-2,-34,-2,24,-1,77,-1,-121,-1,-54,-1,2,0,72,0,127,0,-66,0,-15,0,38,1,81,1,116,1,-107,1,-91,1,-72,1,-75,1,-74,1,-94,1,-111,1,110,1,75,1,27,1,-20,0,-78,0,122,0,59,0,-2,-1,-64,-1,-127,-1,74,-1,17,-1,-31,-2,-74,-2,-113,-2,116,-2,92,-2,83,-2,74,-2,84,-2,93,-2,118,-2,-109,-2,-75,-2,-24,-2,18,-1,78,-1,-123,-1,-63,-1,0,0,61,0,119,0,-75,0,-27,0,30,1,66,1,108,1,-121,1,-99,1,-87,1,-80,1,-87,1,-97,1,-122,1,109,1,68,1,29,1,-22,0,-74,0,123,0,66,0,3,0,-58,-1,-115,-1,80,-1,32,-1,-23,-2,-62,-2,-101,-2,127,-2,103,-2,92,-2,85,-2,91,-2,102,-2,123,-2,-105,-2,-69,-2,-26,-2,22,-1,73,-1,-123,-1,-70,-1,-4,-1,51,0,115,0,-89,0,-31,0,12,1,60,1,94,1,124,1,-108,1,-100,1,-86,1,-99,1,-103,1,-128,1,105,1,64,1,29,1,-25,0,-70,0,124,0,71,0,7,0,-48,-1,-109,-1,92,-1,38,-1,-9,-2,-54,-2,-88,-2,-119,-2,114,-2,103,-2,94,-2,99,-2,110,-2,-127,-2,-100,-2,-64,-2,-27,-2,23,-1,72,-1,127,-1,-69,-1,-15,-1,49,0,102,0,-95,0,-42,0,2,1,50,1,81,1,114,1,-119,1,-107,1,-101,1,-102,1,-114,1,125,1,97,1,63,1,25,1,-23,0,-72,0,-127,0,75,0,14,0,-40,-1}; }
	private static byte[] data14(){ return new byte[] {-105,-1,104,-1,46,-1,1,-1,-41,-2,-80,-2,-106,-2,123,-2,113,-2,104,-2,108,-2,116,-2,-120,-2,-95,-2,-62,-2,-24,-2,23,-1,70,-1,-128,-1,-78,-1,-15,-1,38,0,97,0,-106,0,-52,0,-6,0,37,1,74,1,100,1,-127,1,-120,1,-107,1,-111,1,-123,1,121,1,88,1,65,1,17,1,-17,0,-76,0,-118,0,71,0,26,0,-40,-1,-91,-1,109,-1,57,-1,10,-1,-29,-2,-71,-2,-94,-2,-123,-2,124,-2,111,-2,117,-2,124,-2,-115,-2,-89,-2,-59,-2,-22,-2,24,-1,70,-1,123,-1,-79,-1,-24,-1,32,0,91,0,-116,0,-59,0,-19,0,30,1,59,1,96,1,111,1,-122,1,-122,1,-118,1,-128,1,111,1,88,1,57,1,18,1,-20,0,-73,0,-119,0,80,0,26,0,-31,-1,-84,-1,117,-1,68,-1,20,-1,-20,-2,-60,-2,-84,-2,-114,-2,-121,-2,120,-2,125,-2,-124,-2,-110,-2,-84,-2,-55,-2,-19,-2,24,-1,69,-1,121,-1,-84,-1,-26,-1,24,0,84,0,-123,0,-71,0,-24,0,13,1,55,1,81,1,105,1,121,1,-128,1,-128,1,121,1,106,1,82,1,54,1,18,1,-26,0,-66,0,-123,0,87,0,29,0,-23,-1,-78,-1,126,-1,75,-1,32,-1,-15,-2,-44,-2,-79,-2,-98,-2,-117,-2,-123,-2,-125,-2,-117,-2,-102,-2,-81,-2,-50,-2,-18,-2,25,-1,68,-1,119,-1,-88,-1,-30,-1,17,0,80,0,122,0,-77,0,-37,0,6,1,44,1,72,1,94,1,113,1,117,1,122,1,113,1,99,1,78,1,50,1,15,1,-24,0,-71,0,-114,0,85,0,39,0,-21,-1,-69,-1,-125,-1,86,-1,39,-1,-2,-2,-37,-2,-67,-2,-91,-2,-105,-2,-117,-2,-114,-2,-112,-2,-95,-2,-76,-2,-48,-2,-14,-2,24,-1,70,-1,116,-1,-90,-1,-37,-1,14,0,69,0,119,0,-91,0,-42,0,-4,0,33,1,64,1,83,1,103,1,111,1,111,1,108,1,92,1,73,1,46,1,13,1,-25,0,-69,0,-113,0,87,0,44,0,-17,-1,-61,-1,-117,-1,95,-1,47,-1,9,-1,-29,-2,-56,-2,-82,-2,-96,-2,-107,-2,-108,-2,-103,-2,-90,-2,-71,-2,-44,-2,-11,-2,25,-1,70,-1,112,-1,-91,-1,-43,-1,11,0,59,0,114,0,-100,0,-49,0,-16,0,26,1,51,1,76,1,93,1,102,1,103,1,102,1,84,1,71,1,39,1,14,1,-30,0,-65,0,-116,0,94,0,45,0,-7,-1,-58,-1,-108,-1,102,-1,57,-1,17,-1,-18,-2,-50,-2,-68,-2,-91,-2,-96,-2,-101,-2,-97,-2,-82,-2,-67,-2,-40,-2,-8,-2,25,-1,70,-1,112,-1,-96,-1,-45,-1,4,0,55,0,105,0,-107,0,-61,0,-21,0,13,1,44,1,66,1,84,1,93,1,99,1,89,1,85,1,59,1,42,1,6,1,-28,0,-66,0,-115,0,100,0,45,0,0,0,-51,-1,-103,-1,112,-1,62,-1,29,-1,-11,-2,-37,-2,-63,-2,-78,-2,-91,-2,-91,-2,-91,-2,-75,-2,-64,-2,-34,-2,-9,-2,30,-1,68,-1,110,-1,-96,-1,-52,-1,1,0,48,0,97,0,-114,0,-68,0,-32,0,6,1,33,1,59,1,73,1,88,1,85,1,90,1,70,1,63,1,30,1,9,1,-31,0,-67,0,-112,0,101,0,50,0,4,0,-46,-1,-94,-1,117,-1,76,-1,31,-1,4,-1,-32,-2,-52,-2,-71,-2,-81,-2,-85,-2,-82,-2,-72,-2,-57,-2,-30,-2,-7,-2,32,-1,66,-1,112,-1,-101,-1,-53,-1,-6,-1,42,0,91,0,-121,0,-77,0,-39,0,-5,0,25,1,48,1,67,1,77,1,81,1,79,1,68,1,54,1,31,1,4,1,-33,0,-65,0,-113,0,105,0,52,0,10,0,-43,-1,-83,-1,121,-1,84,-1,42,-1,9,-1,-21,-2,-44,-2,-62,-2,-72,-2,-79,-2,-74,-2,-67,-2,-50,-2,-29,-2,-2,-2,32,-1,68,-1,109,-1,-103,-1,-57,-1,-10,-1,38,0,83,0,-128,0,-84,0,-50,0,-11,0,15,1,40,1,58,1,69,1,73,1,73,1,62,1,50,1,25,1,3,1,-35,0,-67,0,-109,0,103,0,61,0,9,0,-31,-1,-84,-1,-120,-1,85,-1,55,-1,14,-1,-10,-2,-36,-2,-54,-2,-63,-2,-72,-2,-67,-2,-62,-2,-45,-2,-24,-2,-1,-2,36,-1,64,-1,112,-1,-107,-1,-59,-1,-14,-1,31,0,78,0,119,0,-91,0,-57,0,-21,0,8,1,30,1,51,1,60,1,68,1,63,1,59,1,42,1,24,1,-3,0,-34,0,-67,0,-109,0,106,0,63,0,15,0,-27,-1,-76,-1,-118,-1,98,-1,59,-1,27,-1,-4,-2,-28,-2,-44,-2,-58,-2,-62,-2,-62,-2,-54,-2,-42,-2,-20,-2,3,-1,35,-1,69,-1,108,-1,-108,-1,-63,-1,-18,-1,25,0,72,0,114,0,-101,0,-63,0,-30,0}; }
	private static byte[] data15(){ return new byte[] {-1,0,24,1,39,1,56,1,55,1,63,1,48,1,40,1,19,1,-6,0,-34,0,-70,0,-107,0,108,0,65,0,20,0,-23,-1,-69,-1,-111,-1,106,-1,66,-1,35,-1,4,-1,-19,-2,-36,-2,-50,-2,-56,-2,-55,-2,-49,-2,-34,-2,-20,-2,10,-1,33,-1,72,-1,106,-1,-109,-1,-66,-1,-23,-1,22,0,66,0,107,0,-107,0,-74,0,-36,0,-9,0,15,1,33,1,45,1,51,1,54,1,45,1,33,1,17,1,-12,0,-32,0,-74,0,-103,0,106,0,70,0,22,0,-17,-1,-63,-1,-105,-1,113,-1,73,-1,43,-1,13,-1,-11,-2,-29,-2,-42,-2,-47,-2,-50,-2,-42,-2,-31,-2,-14,-2,11,-1,37,-1,70,-1,107,-1,-111,-1,-69,-1,-26,-1,17,0,60,0,101,0,-116,0,-78,0,-46,0,-18,0,9,1,23,1,39,1,45,1,44,1,42,1,27,1,13,1,-12,0,-39,0,-70,0,-108,0,114,0,69,0,29,0,-15,-1,-57,-1,-98,-1,118,-1,83,-1,49,-1,22,-1,-4,-2,-21,-2,-34,-2,-41,-2,-42,-2,-38,-2,-26,-2,-9,-2,13,-1,38,-1,73,-1,103,-1,-108,-1,-75,-1,-27,-1,9,0,57,0,92,0,-119,0,-90,0,-49,0,-28,0,0,1,19,1,27,1,41,1,36,1,37,1,22,1,8,1,-13,0,-43,0,-69,0,-107,0,114,0,72,0,32,0,-10,-1,-53,-1,-90,-1,124,-1,91,-1,55,-1,32,-1,1,-1,-9,-2,-31,-2,-32,-2,-37,-2,-30,-2,-23,-2,-4,-2,14,-1,44,-1,68,-1,111,-1,-119,-1,-70,-1,-37,-1,10,0,48,0,91,0,124,0,-91,0,-61,0,-33,0,-8,0,9,1,23,1,32,1,31,1,31,1,16,1,7,1,-20,0,-42,0,-71,0,-107,0,116,0,74,0,34,0,-4,-1,-48,-1,-83,-1,-126,-1,97,-1,64,-1,37,-1,12,-1,-6,-2,-19,-2,-29,-2,-27,-2,-29,-2,-14,-2,-3,-2,20,-1,43,-1,73,-1,104,-1,-113,-1,-78,-1,-35,-1,3,0,43,0,84,0,121,0,-101,0,-67,0,-42,0,-15,0,3,1,15,1,25,1,26,1,23,1,14,1,0,1,-21,0,-42,0,-76,0,-104,0,114,0,79,0,37,0,1,0,-44,-1,-79,-1,-119,-1,105,-1,70,-1,45,-1,20,-1,0,-1,-10,-2,-23,-2,-23,-2,-18,-2,-15,-2,5,-1,21,-1,43,-1,79,-1,99,-1,-111,-1,-80,-1,-41,-1,1,0,38,0,77,0,116,0,-109,0,-73,0,-49,0,-22,0,-6,0,10,1,16,1,21,1,18,1,8,1,-3,0,-25,0,-45,0,-76,0,-103,0,114,0,81,0,40,0,4,0,-38,-1,-73,-1,-114,-1,112,-1,79,-1,50,-1,29,-1,6,-1,-4,-2,-14,-2,-17,-2,-17,-2,-3,-2,2,-1,28,-1,46,-1,75,-1,107,-1,-119,-1,-78,-1,-45,-1,-3,-1,34,0,71,0,110,0,-114,0,-82,0,-54,0,-32,0,-12,0,3,1,10,1,14,1,14,1,1,1,-5,0,-28,0,-48,0,-75,0,-106,0,117,0,81,0,46,0,4,0,-31,-1,-69,-1,-108,-1,121,-1,81,-1,61,-1,33,-1,16,-1,2,-1,-9,-2,-10,-2,-10,-2,-1,-2,10,-1,27,-1,50,-1,76,-1,106,-1,-118,-1,-82,-1,-47,-1,-6,-1,27,0,71,0,99,0,-117,0,-89,0,-63,0,-36,0,-22,0,-2,0,3,1,10,1,4,1,1,1,-12,0,-31,0,-48,0,-79,0,-104,0,116,0,85,0,46,0,11,0,-29,-1,-63,-1,-101,-1,124,-1,92,-1,63,-1,43,-1,22,-1,7,-1,2,-1,-9,-2,-1,-2,1,-1,15,-1,31,-1,50,-1,80,-1,102,-1,-114,-1,-87,-1,-48,-1,-10,-1,24,0,63,0,96,0,-126,0,-95,0,-68,0,-46,0,-24,0,-14,0,2,1,-2,0,4,1,-7,0,-15,0,-32,0,-55,0,-76,0,-107,0,119,0,86,0,47,0,17,0,-27,-1,-57,-1,-96,-1,-126,-1,98,-1,73,-1,45,-1,33,-1,12,-1,7,-1,0,-1,1,-1,9,-1,16,-1,36,-1,53,-1,79,-1,106,-1,-119,-1,-85,-1,-52,-1,-14,-1,20,0,57,0,93,0,122,0,-99,0,-77,0,-51,0,-32,0,-19,0,-7,0,-5,0,-3,0,-12,0,-16,0,-41,0,-49,0,-86,0,-100,0,114,0,91,0,49,0,17,0,-19,-1,-54,-1,-89,-1,-121,-1,104,-1,79,-1,54,-1,37,-1,21,-1,10,-1,8,-1,5,-1,14,-1,21,-1,37,-1,57,-1,78,-1,110,-1,-123,-1,-84,-1,-56,-1,-16,-1,15,0,55,0,84,0,120,0,-109,0,-82,0,-56,0,-42,0,-22,0,-17,0,-7,0,-11,0,-13,0,-26,0,-37,0,-59,0,-78,0,-110,0,123,0,84,0,58,0,16,0,-12,-1,-52,-1,-82,-1,-117,-1,112,-1,84,-1,62,-1,42,-1,28,-1,16,-1,14,-1}; }
	private static byte[] data16(){ return new byte[] {12,-1,15,-1,29,-1,37,-1,61,-1,80,-1,107,-1,-119,-1,-89,-1,-56,-1,-19,-1,10,0,52,0,78,0,114,0,-114,0,-88,0,-65,0,-44,0,-32,0,-20,0,-15,0,-16,0,-17,0,-29,0,-41,0,-62,0,-79,0,-111,0,124,0,85,0,60,0,21,0,-11,-1,-46,-1,-78,-1,-112,-1,121,-1,85,-1,73,-1,45,-1,35,-1,25,-1,15,-1,20,-1,19,-1,31,-1,44,-1,59,-1,84,-1,107,-1,-120,-1,-89,-1,-58,-1,-24,-1,10,0,43,0,76,0,107,0,-120,0,-93,0,-72,0,-50,0,-38,0,-26,0,-22,0,-19,0,-24,0,-30,0,-47,0,-62,0,-82,0,-109,0,121,0,90,0,57,0,29,0,-12,-1,-37,-1,-79,-1,-100,-1,119,-1,100,-1,71,-1,58,-1,37,-1,32,-1,21,-1,24,-1,24,-1,35,-1,48,-1,60,-1,88,-1,105,-1,-118,-1,-92,-1,-59,-1,-27,-1,6,0,39,0,72,0,102,0,-126,0,-99,0,-78,0,-57,0,-44,0,-32,0,-26,0,-25,0,-28,0,-36,0,-48,0,-64,0,-86,0,-107,0,117,0,96,0,56,0,31,0,-6,-1,-36,-1,-70,-1,-98,-1,127,-1,103,-1,81,-1,59,-1,48,-1,33,-1,30,-1,28,-1,29,-1,39,-1,48,-1,67,-1,86,-1,109,-1,-120,-1,-94,-1,-58,-1,-33,-1,7,0,32,0,68,0,96,0,125,0,-105,0,-83,0,-65,0,-48,0,-40,0,-28,0,-33,0,-31,0,-40,0,-51,0,-67,0,-86,0,-111,0,121,0,94,0,60,0,33,0,-3,-1,-32,-1,-65,-1,-94,-1,-123,-1,109,-1,86,-1,66,-1,54,-1,38,-1,38,-1,28,-1,39,-1,37,-1,58,-1,63,-1,92,-1,107,-1,-119,-1,-94,-1,-62,-1,-32,-1,-1,-1,33,0,59,0,94,0,118,0,-110,0,-89,0,-70,0,-56,0,-42,0,-39,0,-32,0,-40,0,-41,0,-56,0,-69,0,-88,0,-111,0,121,0,93,0,65,0,32,0,2,0,-29,-1,-61,-1,-87,-1,-119,-1,115,-1,92,-1,72,-1,59,-1,45,-1,40,-1,38,-1,37,-1,48,-1,54,-1,72,-1,89,-1,110,-1,-119,-1,-95,-1,-63,-1,-35,-1,-4,-1,29,0,56,0,89,0,112,0,-114,0,-98,0,-72,0,-64,0,-47,0,-43,0,-40,0,-40,0,-49,0,-57,0,-71,0,-92,0,-108,0,117,0,97,0,63,0,36,0,5,0,-26,-1,-55,-1,-85,-1,-112,-1,120,-1,97,-1,80,-1,61,-1,53,-1,46,-1,40,-1,47,-1,45,-1,62,-1,73,-1,90,-1,113,-1,-122,-1,-93,-1,-67,-1,-35,-1,-9,-1,27,0,52,0,83,0,109,0,-122,0,-100,0,-82,0,-65,0,-57,0,-45,0,-45,0,-47,0,-49,0,-63,0,-74,0,-90,0,-115,0,124,0,90,0,71,0,34,0,11,0,-24,-1,-51,-1,-80,-1,-107,-1,126,-1,102,-1,84,-1,69,-1,57,-1,50,-1,49,-1,45,-1,55,-1,62,-1,74,-1,94,-1,112,-1,-120,-1,-94,-1,-68,-1,-40,-1,-6,-1,17,0,52,0,76,0,105,0,-127,0,-106,0,-87,0,-73,0,-57,0,-55,0,-48,0,-50,0,-56,0,-62,0,-79,0,-92,0,-114,0,121,0,95,0,68,0,40,0,10,0,-18,-1,-48,-1,-75,-1,-103,-1,-125,-1,108,-1,90,-1,74,-1,62,-1,56,-1,51,-1,53,-1,56,-1,66,-1,77,-1,96,-1,112,-1,-119,-1,-95,-1,-69,-1,-41,-1,-11,-1,14,0,49,0,71,0,101,0,123,0,-111,0,-93,0,-75,0,-68,0,-55,0,-56,0,-53,0,-59,0,-68,0,-78,0,-97,0,-113,0,119,0,97,0,67,0,44,0,11,0,-14,-1,-45,-1,-69,-1,-100,-1,-118,-1,112,-1,95,-1,80,-1,67,-1,61,-1,55,-1,59,-1,57,-1,72,-1,78,-1,98,-1,114,-1,-119,-1,-95,-1,-72,-1,-40,-1,-17,-1,16,0,41,0,70,0,93,0,120,0,-117,0,-97,0,-82,0,-72,0,-61,0,-59,0,-59,0,-61,0,-73,0,-79,0,-99,0,-114,0,119,0,95,0,71,0,44,0,13,0,-8,-1,-45,-1,-62,-1,-96,-1,-115,-1,118,-1,100,-1,85,-1,74,-1,63,-1,64,-1,57,-1,67,-1,70,-1,84,-1,98,-1,117,-1,-121,-1,-94,-1,-73,-1,-43,-1,-17,-1,10,0,41,0,62,0,92,0,113,0,-122,0,-101,0,-88,0,-76,0,-67,0,-63,0,-64,0,-64,0,-75,0,-84,0,-98,0,-118,0,120,0,95,0,72,0,45,0,19,0,-10,-1,-37,-1,-62,-1,-89,-1,-111,-1,124,-1,103,-1,93,-1,76,-1,71,-1,65,-1,64,-1,69,-1,74,-1,86,-1,100,-1,117,-1,-118,-1,-98,-1,-71,-1,-45,-1,-20,-1,8,0,34,0,61,0,88,0,106,0,-123,0,-111,0,-89,0,-83,0,-70,0,-70,0,-65,0,-71,0,-75,0,-89,0,-98,0}; }
	private static byte[] data17(){ return new byte[] {-121,0,121,0,95,0,73,0,47,0,20,0,-6,-1,-34,-1,-59,-1,-83,-1,-107,-1,-128,-1,112,-1,92,-1,85,-1,74,-1,70,-1,68,-1,72,-1,77,-1,90,-1,102,-1,117,-1,-118,-1,-96,-1,-73,-1,-47,-1,-22,-1,4,0,34,0,54,0,84,0,103,0,126,0,-113,0,-97,0,-87,0,-75,0,-74,0,-68,0,-77,0,-76,0,-93,0,-100,0,-120,0,118,0,97,0,72,0,50,0,20,0,-1,-1,-32,-1,-53,-1,-80,-1,-103,-1,-122,-1,113,-1,102,-1,87,-1,80,-1,73,-1,73,-1,76,-1,79,-1,95,-1,99,-1,124,-1,-121,-1,-95,-1,-74,-1,-49,-1,-23,-1,1,0,30,0,51,0,80,0,98,0,121,0,-116,0,-106,0,-86,0,-84,0,-76,0,-73,0,-80,0,-80,0,-93,0,-106,0,-118,0,115,0,99,0,72,0,51,0,23,0,1,0,-28,-1,-51,-1,-75,-1,-100,-1,-116,-1,118,-1,106,-1,93,-1,82,-1,80,-1,76,-1,80,-1,83,-1,94,-1,106,-1,119,-1,-114,-1,-100,-1,-72,-1,-51,-1,-26,-1,0,0,25,0,49,0,74,0,95,0,117,0,-123,0,-105,0,-98,0,-83,0,-83,0,-77,0,-81,0,-87,0,-93,0,-107,0,-123,0,119,0,94,0,76,0,52,0,24,0,5,0,-27,-1,-46,-1,-72,-1,-93,-1,-114,-1,125,-1,108,-1,98,-1,89,-1,81,-1,83,-1,80,-1,88,-1,97,-1,105,-1,126,-1,-120,-1,-93,-1,-78,-1,-49,-1,-30,-1,-1,-1,22,0,45,0,71,0,90,0,114,0,126,0,-108,0,-103,0,-88,0,-85,0,-84,0,-83,0,-89,0,-98,0,-107,0,-124,0,116,0,97,0,75,0,52,0,29,0,3,0,-20,-1,-44,-1,-68,-1,-91,-1,-106,-1,126,-1,115,-1,102,-1,91,-1,90,-1,82,-1,87,-1,90,-1,99,-1,109,-1,124,-1,-115,-1,-97,-1,-75,-1,-54,-1,-28,-1,-6,-1,20,0,42,0,68,0,85,0,110,0,122,0,-115,0,-102,0,-99,0,-84,0,-91,0,-85,0,-92,0,-101,0,-109,0,-126,0,116,0,96,0,77,0,51,0,34,0,1,0,-13,-1,-44,-1,-63,-1,-85,-1,-106,-1,-123,-1,119,-1,105,-1,99,-1,89,-1,90,-1,88,-1,95,-1,99,-1,113,-1,124,-1,-114,-1,-97,-1,-75,-1,-55,-1,-30,-1,-8,-1,17,0,39,0,63,0,82,0,105,0,119,0,-119,0,-110,0,-98,0,-94,0,-90,0,-91,0,-94,0,-104,0,-112,0,-125,0,113,0,98,0,74,0,57,0,29,0,13,0,-20,-1,-34,-1,-63,-1,-81,-1,-101,-1,-118,-1,123,-1,110,-1,102,-1,94,-1,93,-1,92,-1,98,-1,102,-1,114,-1,126,-1,-114,-1,-94,-1,-80,-1,-50,-1,-39,-1,-4,-1,11,0,37,0,59,0,79,0,99,0,118,0,-127,0,-110,0,-107,0,-94,0,-96,0,-93,0,-99,0,-104,0,-116,0,-125,0,112,0,97,0,75,0,57,0,32,0,12,0,-14,-1,-34,-1,-57,-1,-78,-1,-97,-1,-113,-1,125,-1,117,-1,103,-1,101,-1,95,-1,97,-1,98,-1,108,-1,113,-1,-125,-1,-115,-1,-95,-1,-77,-1,-56,-1,-33,-1,-13,-1,12,0,33,0,56,0,76,0,95,0,111,0,-128,0,-118,0,-107,0,-100,0,-99,0,-97,0,-103,0,-104,0,-120,0,-125,0,109,0,98,0,76,0,56,0,36,0,10,0,-7,-1,-34,-1,-53,-1,-73,-1,-96,-1,-107,-1,-127,-1,121,-1,107,-1,106,-1,96,-1,104,-1,98,-1,112,-1,115,-1,-125,-1,-113,-1,-96,-1,-75,-1,-59,-1,-34,-1,-15,-1,9,0,32,0,51,0,73,0,90,0,109,0,122,0,-120,0,-113,0,-103,0,-103,0,-100,0,-105,0,-109,0,-119,0,127,0,110,0,96,0,77,0,57,0,38,0,12,0,-5,-1,-32,-1,-48,-1,-72,-1,-88,-1,-108,-1,-119,-1,121,-1,115,-1,106,-1,104,-1,102,-1,106,-1,110,-1,120,-1,-125,-1,-110,-1,-97,-1,-76,-1,-58,-1,-36,-1,-16,-1,7,0,26,0,51,0,67,0,89,0,103,0,119,0,-125,0,-116,0,-107,0,-107,0,-103,0,-109,0,-110,0,-122,0,125,0,110,0,96,0,76,0,60,0,34,0,21,0,-10,-1,-23,-1,-49,-1,-67,-1,-84,-1,-104,-1,-116,-1,127,-1,117,-1,111,-1,107,-1,106,-1,107,-1,115,-1,120,-1,-122,-1,-111,-1,-94,-1,-78,-1,-58,-1,-38,-1,-17,-1,3,0,26,0,46,0,65,0,84,0,101,0,113,0,-127,0,-121,0,-111,0,-110,0,-106,0,-112,0,-113,0,-123,0,122,0,112,0,91,0,81,0,55,0,42,0,15,0,0,0,-26,-1,-43,-1,-63,-1,-84,-1,-96,-1,-115,-1,-124,-1,121,-1,115,-1,109,-1,111,-1,110,-1,117,-1,122,-1,-120,-1,-111,-1,-92,-1,-79,-1,-59,-1,-39,-1}; }
	private static byte[] data18(){ return new byte[] {-18,-1,1,0,23,0,42,0,63,0,80,0,97,0,110,0,124,0,-125,0,-113,0,-115,0,-108,0,-115,0,-116,0,-125,0,120,0,112,0,90,0,81,0,56,0,43,0,17,0,1,0,-22,-1,-42,-1,-58,-1,-81,-1,-94,-1,-109,-1,-121,-1,124,-1,121,-1,110,-1,116,-1,111,-1,120,-1,125,-1,-120,-1,-108,-1,-94,-1,-78,-1,-59,-1,-41,-1,-19,-1,-2,-1,21,0,39,0,60,0,76,0,93,0,107,0,120,0,-127,0,-120,0,-115,0,-115,0,-114,0,-122,0,-124,0,117,0,110,0,92,0,78,0,59,0,41,0,22,0,1,0,-19,-1,-39,-1,-56,-1,-76,-1,-90,-1,-107,-1,-116,-1,-128,-1,123,-1,116,-1,116,-1,117,-1,121,-1,-128,-1,-119,-1,-107,-1,-93,-1,-77,-1,-61,-1,-40,-1,-23,-1,-1,-1,16,0,39,0,53,0,77,0,86,0,106,0,115,0,125,0,-124,0,-117,0,-119,0,-117,0,-123,0,127,0,119,0,107,0,91,0,79,0,58,0,45,0,20,0,5,0,-19,-1,-34,-1,-54,-1,-72,-1,-87,-1,-103,-1,-113,-1,-124,-1,126,-1,119,-1,120,-1,119,-1,124,-1,-126,-1,-119,-1,-104,-1,-94,-1,-77,-1,-59,-1,-44,-1,-23,-1,-4,-1,15,0,35,0,53,0,69,0,86,0,102,0,109,0,125,0,126,0,-119,0,-123,0,-119,0,-126,0,126,0,116,0,106,0,91,0,80,0,57,0,46,0,22,0,6,0,-13,-1,-36,-1,-47,-1,-73,-1,-80,-1,-102,-1,-107,-1,-123,-1,-125,-1,122,-1,123,-1,123,-1,124,-1,-122,-1,-119,-1,-101,-1,-96,-1,-73,-1,-64,-1,-42,-1,-24,-1,-8,-1,15,0,31,0,49,0,69,0,80,0,99,0,106,0,121,0,123,0,-124,0,-123,0,-124,0,-128,0,126,0,110,0,109,0,89,0,77,0,64,0,39,0,31,0,1,0,-7,-1,-35,-1,-45,-1,-68,-1,-78,-1,-97,-1,-106,-1,-116,-1,-125,-1,-128,-1,124,-1,126,-1,-128,-1,-122,-1,-115,-1,-103,-1,-92,-1,-75,-1,-64,-1,-41,-1,-29,-1,-6,-1,12,0,26,0,50,0,62,0,79,0,97,0,100,0,119,0,119,0,-127,0,-126,0,-127,0,126,0,122,0,112,0,105,0,90,0,77,0,60,0,46,0,26,0,9,0,-11,-1,-26,-1,-49,-1,-58,-1,-82,-1,-88,-1,-105,-1,-113,-1,-120,-1,-126,-1,127,-1,-126,-1,127,-1,-116,-1,-116,-1,-99,-1,-94,-1,-75,-1,-61,-1,-46,-1,-26,-1,-10,-1,8,0,28,0,45,0,59,0,78,0,88,0,102,0,112,0,119,0,123,0,-127,0,124,0,126,0,119,0,110,0,105,0,88,0,78,0,60,0,46,0,28,0,9,0,-6,-1,-27,-1,-42,-1,-60,-1,-75,-1,-88,-1,-99,-1,-111,-1,-116,-1,-125,-1,-122,-1,127,-1,-119,-1,-122,-1,-108,-1,-104,-1,-87,-1,-79,-1,-60,-1,-47,-1,-27,-1,-12,-1,8,0,24,0,42,0,58,0,73,0,86,0,100,0,106,0,117,0,121,0,123,0,126,0,120,0,118,0,109,0,102,0,88,0,78,0,60,0,48,0,26,0,14,0,-7,-1,-24,-1,-38,-1,-59,-1,-71,-1,-84,-1,-98,-1,-106,-1,-113,-1,-122,-1,-120,-1,-124,-1,-120,-1,-117,-1,-108,-1,-102,-1,-87,-1,-78,-1,-60,-1,-47,-1,-29,-1,-13,-1,6,0,21,0,41,0,53,0,72,0,81,0,98,0,102,0,116,0,114,0,125,0,117,0,124,0,111,0,112,0,97,0,90,0,76,0,60,0,49,0,29,0,12,0,-1,-1,-26,-1,-34,-1,-56,-1,-67,-1,-82,-1,-94,-1,-104,-1,-110,-1,-117,-1,-119,-1,-120,-1,-120,-1,-112,-1,-109,-1,-98,-1,-88,-1,-78,-1,-59,-1,-49,-1,-29,-1,-15,-1,4,0,19,0,38,0,52,0,66,0,83,0,88,0,106,0,107,0,116,0,118,0,117,0,120,0,111,0,109,0,96,0,89,0,75,0,63,0,46,0,31,0,14,0,-1,-1,-20,-1,-35,-1,-51,-1,-67,-1,-76,-1,-94,-1,-97,-1,-110,-1,-113,-1,-115,-1,-121,-1,-113,-1,-114,-1,-105,-1,-98,-1,-87,-1,-76,-1,-62,-1,-47,-1,-31,-1,-15,-1,1,0,18,0,35,0,49,0,66,0,74,0,93,0,95,0,108,0,112,0,114,0,119,0,112,0,113,0,103,0,100,0,84,0,78,0,59,0,50,0,31,0,16,0,0,0,-19,-1,-31,-1,-50,-1,-62,-1,-76,-1,-88,-1,-97,-1,-104,-1,-112,-1,-112,-1,-117,-1,-113,-1,-110,-1,-105,-1,-95,-1,-89,-1,-73,-1,-64,-1,-46,-1,-33,-1,-16,-1,-1,-1,16,0,33,0,45,0,64,0,72,0,88,0,94,0,104,0,108,0,115,0,111,0,115,0,106,0,106,0,94,0,89,0,71,0,65,0,46,0,33,0,18,0,0,0,-15,-1,-31,-1,-45,-1}; }
	private static byte[] data19(){ return new byte[] {-61,-1,-72,-1,-86,-1,-92,-1,-104,-1,-105,-1,-115,-1,-109,-1,-114,-1,-106,-1,-105,-1,-93,-1,-88,-1,-73,-1,-63,-1,-47,-1,-34,-1,-17,-1,-3,-1,15,0,30,0,44,0,60,0,69,0,86,0,90,0,103,0,103,0,114,0,107,0,115,0,102,0,107,0,89,0,92,0,68,0,68,0,43,0,36,0,18,0,1,0,-10,-1,-32,-1,-41,-1,-60,-1,-67,-1,-84,-1,-89,-1,-100,-1,-105,-1,-108,-1,-110,-1,-109,-1,-106,-1,-102,-1,-92,-1,-87,-1,-73,-1,-62,-1,-50,-1,-31,-1,-21,-1,-2,-1,12,0,27,0,43,0,56,0,69,0,80,0,89,0,100,0,99,0,112,0,104,0,112,0,103,0,101,0,93,0,84,0,75,0,60,0,51,0,32,0,21,0,3,0,-11,-1,-27,-1,-39,-1,-57,-1,-66,-1,-80,-1,-88,-1,-95,-1,-104,-1,-103,-1,-111,-1,-104,-1,-106,-1,-100,-1,-90,-1,-88,-1,-70,-1,-64,-1,-48,-1,-34,-1,-21,-1,-4,-1,11,0,24,0,42,0,51,0,69,0,74,0,90,0,92,0,103,0,103,0,107,0,106,0,102,0,101,0,90,0,85,0,72,0,63,0,48,0,36,0,20,0,5,0,-9,-1,-25,-1,-38,-1,-54,-1,-62,-1,-80,-1,-81,-1,-97,-1,-96,-1,-106,-1,-103,-1,-106,-1,-102,-1,-97,-1,-93,-1,-81,-1,-75,-1,-59,-1,-52,-1,-33,-1,-23,-1,-5,-1,10,0,21,0,40,0,49,0,65,0,74,0,85,0,90,0,101,0,98,0,108,0,100,0,104,0,96,0,91,0,82,0,74,0,60,0,51,0,34,0,22,0,8,0,-11,-1,-19,-1,-40,-1,-46,-1,-65,-1,-72,-1,-84,-1,-90,-1,-96,-1,-101,-1,-102,-1,-105,-1,-98,-1,-98,-1,-89,-1,-82,-1,-74,-1,-59,-1,-52,-1,-33,-1,-25,-1,-4,-1,4,0,24,0,34,0,49,0,61,0,73,0,80,0,90,0,94,0,101,0,100,0,103,0,99,0,94,0,92,0,80,0,73,0,61,0,49,0,37,0,22,0,8,0,-7,-1,-20,-1,-35,-1,-46,-1,-61,-1,-71,-1,-79,-1,-90,-1,-91,-1,-101,-1,-97,-1,-104,-1,-96,-1,-95,-1,-90,-1,-79,-1,-74,-1,-60,-1,-50,-1,-36,-1,-23,-1,-9,-1,6,0,20,0,33,0,46,0,60,0,66,0,83,0,83,0,96,0,94,0,102,0,97,0,99,0,93,0,89,0,80,0,73,0,60,0,49,0,38,0,22,0,10,0,-5,-1,-18,-1,-33,-1,-45,-1,-58,-1,-68,-1,-77,-1,-85,-1,-91,-1,-98,-1,-95,-1,-101,-1,-94,-1,-95,-1,-86,-1,-83,-1,-68,-1,-64,-1,-47,-1,-38,-1,-23,-1,-11,-1,6,0,15,0,34,0,42,0,58,0,65,0,78,0,82,0,93,0,91,0,100,0,94,0,99,0,90,0,88,0,80,0,69,0,64,0,46,0,41,0,21,0,12,0,-5,-1,-14,-1,-34,-1,-39,-1,-60,-1,-60,-1,-80,-1,-79,-1,-90,-1,-95,-1,-92,-1,-101,-1,-92,-1,-91,-1,-88,-1,-77,-1,-73,-1,-60,-1,-49,-1,-38,-1,-24,-1,-12,-1,3,0,17,0,28,0,44,0,51,0,67,0,72,0,82,0,88,0,91,0,96,0,93,0,96,0,88,0,89,0,74,0,76,0,56,0,52,0,38,0,22,0,16,0,-6,-1,-12,-1,-31,-1,-39,-1,-54,-1,-61,-1,-75,-1,-79,-1,-87,-1,-91,-1,-92,-1,-96,-1,-91,-1,-92,-1,-83,-1,-80,-1,-68,-1,-62,-1,-48,-1,-40,-1,-24,-1,-13,-1,3,0,13,0,29,0,37,0,55,0,58,0,75,0,76,0,88,0,87,0,94,0,92,0,93,0,89,0,83,0,80,0,66,0,65,0,45,0,42,0,23,0,13,0,1,0,-15,-1,-25,-1,-41,-1,-49,-1,-61,-1,-69,-1,-79,-1,-83,-1,-90,-1,-90,-1,-93,-1,-90,-1,-89,-1,-83,-1,-78,-1,-70,-1,-59,-1,-50,-1,-38,-1,-25,-1,-15,-1,1,0,12,0,26,0,38,0,49,0,60,0,68,0,77,0,84,0,85,0,93,0,89,0,91,0,89,0,79,0,81,0,66,0,62,0,48,0,40,0,24,0,17,0,-3,-1,-10,-1,-24,-1,-39,-1,-45,-1,-62,-1,-64,-1,-77,-1,-82,-1,-85,-1,-91,-1,-87,-1,-92,-1,-85,-1,-84,-1,-74,-1,-72,-1,-55,-1,-56,-1,-32,-1,-32,-1,-10,-1,-4,-1,12,0,24,0,35,0,49,0,55,0,68,0,73,0,82,0,83,0,90,0,87,0,90,0,85,0,83,0,74,0,69,0,60,0,49,0,40,0,26,0,14,0,3,0,-12,-1,-21,-1,-36,-1,-45,-1,-58,-1,-63,-1,-76,-1,-76,-1,-86,-1,-86,-1,-89,-1,-86,-1,-87,-1,-78,-1,-79,-1,-65,-1,-61,-1,-49,-1,-38,-1,-29,-1,-13,-1,-5,-1,13,0,18,0,38,0,43,0,55,0,66,0,69,0,80,0}; }
	private static byte[] data20(){ return new byte[] {83,0,85,0,87,0,87,0,84,0,82,0,72,0,70,0,56,0,54,0,35,0,31,0,12,0,6,0,-11,-1,-20,-1,-34,-1,-42,-1,-57,-1,-59,-1,-75,-1,-74,-1,-84,-1,-83,-1,-86,-1,-87,-1,-83,-1,-79,-1,-76,-1,-65,-1,-62,-1,-47,-1,-41,-1,-25,-1,-19,-1,-2,-1,8,0,20,0,33,0,42,0,53,0,62,0,70,0,75,0,82,0,82,0,86,0,85,0,83,0,78,0,75,0,65,0,61,0,48,0,40,0,28,0,16,0,5,0,-9,-1,-19,-1,-30,-1,-44,-1,-50,-1,-62,-1,-68,-1,-75,-1,-79,-1,-84,-1,-83,-1,-85,-1,-81,-1,-79,-1,-72,-1,-69,-1,-56,-1,-52,-1,-37,-1,-29,-1,-17,-1,-4,-1,6,0,19,0,30,0,41,0,52,0,58,0,70,0,71,0,80,0,81,0,83,0,85,0,79,0,79,0,72,0,66,0,59,0,49,0,39,0,30,0,14,0,9,0,-10,-1,-14,-1,-32,-1,-39,-1,-50,-1,-59,-1,-64,-1,-77,-1,-73,-1,-84,-1,-80,-1,-82,-1,-83,-1,-74,-1,-76,-1,-62,-1,-60,-1,-48,-1,-40,-1,-29,-1,-17,-1,-7,-1,8,0,15,0,31,0,36,0,51,0,57,0,65,0,72,0,76,0,79,0,83,0,79,0,82,0,74,0,74,0,64,0,59,0,48,0,40,0,29,0,18,0,7,0,-7,-1,-14,-1,-30,-1,-35,-1,-51,-1,-54,-1,-67,-1,-68,-1,-76,-1,-79,-1,-80,-1,-80,-1,-81,-1,-73,-1,-73,-1,-64,-1,-58,-1,-50,-1,-39,-1,-29,-1,-18,-1,-7,-1,4,0,15,0,29,0,35,0,48,0,56,0,61,0,73,0,71,0,79,0,79,0,81,0,75,0,79,0,67,0,68,0,55,0,50,0,39,0,30,0,19,0,7,0,-4,-1,-14,-1,-27,-1,-35,-1,-48,-1,-52,-1,-64,-1,-67,-1,-74,-1,-77,-1,-78,-1,-79,-1,-77,-1,-76,-1,-68,-1,-66,-1,-56,-1,-51,-1,-37,-1,-31,-1,-18,-1,-8,-1,1,0,18,0,22,0,38,0,42,0,55,0,62,0,65,0,76,0,71,0,81,0,77,0,76,0,75,0,69,0,63,0,59,0,47,0,40,0,31,0,17,0,10,0,-3,-1,-15,-1,-22,-1,-36,-1,-44,-1,-52,-1,-61,-1,-64,-1,-75,-1,-70,-1,-81,-1,-75,-1,-76,-1,-75,-1,-66,-1,-66,-1,-55,-1,-51,-1,-37,-1,-32,-1,-19,-1,-9,-1,3,0,11,0,26,0,31,0,45,0,50,0,60,0,65,0,70,0,75,0,74,0,77,0,75,0,73,0,68,0,64,0,55,0,50,0,38,0,32,0,18,0,11,0,-2,-1,-13,-1,-22,-1,-34,-1,-40,-1,-52,-1,-57,-1,-66,-1,-68,-1,-74,-1,-73,-1,-77,-1,-73,-1,-74,-1,-66,-1,-64,-1,-55,-1,-49,-1,-40,-1,-30,-1,-20,-1,-10,-1,1,0,12,0,22,0,31,0,43,0,47,0,60,0,61,0,69,0,72,0,73,0,77,0,71,0,73,0,67,0,62,0,57,0,47,0,41,0,29,0,23,0,7,0,3,0,-14,-1,-19,-1,-32,-1,-40,-1,-49,-1,-56,-1,-62,-1,-68,-1,-70,-1,-74,-1,-72,-1,-75,-1,-70,-1,-67,-1,-62,-1,-55,-1,-48,-1,-41,-1,-30,-1,-21,-1,-11,-1,1,0,10,0,19,0,32,0,37,0,50,0,54,0,62,0,66,0,70,0,72,0,72,0,75,0,67,0,69,0,59,0,58,0,44,0,45,0,26,0,24,0,10,0,0,0,-9,-1,-20,-1,-29,-1,-40,-1,-45,-1,-56,-1,-59,-1,-66,-1,-69,-1,-71,-1,-73,-1,-71,-1,-69,-1,-67,-1,-59,-1,-59,-1,-44,-1,-42,-1,-29,-1,-23,-1,-10,-1,-3,-1,12,0,16,0,31,0,36,0,47,0,53,0,59,0,66,0,65,0,73,0,70,0,72,0,68,0,65,0,61,0,55,0,48,0,38,0,33,0,19,0,15,0,-2,-1,-6,-1,-20,-1,-26,-1,-38,-1,-46,-1,-51,-1,-59,-1,-63,-1,-68,-1,-69,-1,-72,-1,-67,-1,-72,-1,-61,-1,-64,-1,-51,-1,-50,-1,-38,-1,-33,-1,-20,-1,-14,-1,0,0,6,0,18,0,29,0,33,0,47,0,49,0,59,0,62,0,66,0,70,0,69,0,69,0,69,0,62,0,62,0,53,0,48,0,40,0,30,0,23,0,12,0,3,0,-7,-1,-18,-1,-25,-1,-36,-1,-44,-1,-49,-1,-58,-1,-60,-1,-68,-1,-65,-1,-72,-1,-65,-1,-71,-1,-61,-1,-60,-1,-55,-1,-45,-1,-43,-1,-28,-1,-24,-1,-12,-1,-3,-1,5,0,19,0,23,0,37,0,41,0,49,0,57,0,59,0,67,0,65,0,70,0,66,0,68,0,62,0,60,0,53,0,47,0,40,0,31,0,23,0,12,0,5,0,-8,-1,-15,-1,-24,-1,-35,-1,-40,-1,-50,-1,-55,-1,-58,-1,-66,-1,-65,-1,-67,-1,-69,-1,-62,-1}; }
	private static byte[] data21(){ return new byte[] {-67,-1,-56,-1,-54,-1,-47,-1,-39,-1,-31,-1,-24,-1,-12,-1,-5,-1,6,0,15,0,25,0,31,0,43,0,45,0,57,0,56,0,66,0,63,0,68,0,66,0,64,0,65,0,55,0,56,0,45,0,39,0,34,0,20,0,16,0,3,0,-5,-1,-13,-1,-25,-1,-31,-1,-40,-1,-48,-1,-52,-1,-58,-1,-64,-1,-62,-1,-68,-1,-65,-1,-65,-1,-60,-1,-61,-1,-49,-1,-49,-1,-39,-1,-31,-1,-23,-1,-15,-1,-3,-1,3,0,14,0,23,0,32,0,38,0,47,0,51,0,59,0,60,0,65,0,64,0,65,0,65,0,60,0,59,0,51,0,46,0,41,0,29,0,27,0,10,0,8,0,-5,-1,-14,-1,-20,-1,-33,-1,-36,-1,-47,-1,-51,-1,-55,-1,-63,-1,-59,-1,-69,-1,-60,-1,-67,-1,-58,-1,-58,-1,-52,-1,-47,-1,-37,-1,-35,-1,-20,-1,-18,-1,-3,-1,2,0,14,0,20,0,31,0,36,0,45,0,51,0,55,0,60,0,63,0,61,0,66,0,62,0,60,0,57,0,52,0,44,0,42,0,30,0,24,0,16,0,4,0,-2,-1,-11,-1,-23,-1,-27,-1,-38,-1,-44,-1,-49,-1,-55,-1,-60,-1,-59,-1,-64,-1,-63,-1,-63,-1,-59,-1,-56,-1,-51,-1,-46,-1,-40,-1,-31,-1,-24,-1,-15,-1,-7,-1,4,0,9,0,23,0,25,0,39,0,41,0,49,0,55,0,56,0,63,0,60,0,64,0,60,0,60,0,55,0,52,0,45,0,39,0,33,0,22,0,17,0,5,0,-1,-1,-11,-1,-19,-1,-28,-1,-36,-1,-42,-1,-47,-1,-54,-1,-56,-1,-61,-1,-61,-1,-62,-1,-61,-1,-57,-1,-59,-1,-46,-1,-51,-1,-33,-1,-36,-1,-22,-1,-17,-1,-6,-1,1,0,12,0,16,0,30,0,32,0,43,0,46,0,53,0,56,0,59,0,60,0,62,0,60,0,58,0,55,0,50,0,46,0,38,0,34,0,21,0,18,0,7,0,-2,-1,-8,-1,-20,-1,-26,-1,-32,-1,-43,-1,-44,-1,-53,-1,-56,-1,-56,-1,-63,-1,-57,-1,-63,-1,-55,-1,-56,-1,-49,-1,-46,-1,-38,-1,-33,-1,-22,-1,-19,-1,-5,-1,-1,-1,9,0,20,0,22,0,37,0,36,0,48,0,50,0,54,0,59,0,58,0,60,0,60,0,56,0,54,0,51,0,43,0,40,0,31,0,25,0,15,0,8,0,-2,-1,-4,-1,-16,-1,-15,-1,-23,-1,-23,-1,-23,-1,-28,-1,-21,-1,-27,-1,-17,-1,-21,-1,-11,-1,-16,-1,-3,-1,-10,-1,2,0}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-19.wav. */
	public Drum19(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-19.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-19.wav. */
	private class LoopThread extends Thread {
		private Drum19 clip;
		private boolean looping = true;
		public LoopThread(Drum19 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-19.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-19.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-19.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-19.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-19.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}